整理Mysql 語句
阿新 • • 發佈:2018-04-03
sql語句
查看mysql支持的存儲引擎:
show engines;
查看當前默認的存儲引擎:
show variables like ‘%storage_engine%‘;
查看庫中所有表使用的存儲引擎
Show table status from db_name;
查看庫中指定表的存儲引擎
show table status like ‘tb_name‘;
show create table tb_name;
設置表的存儲引擎:
ALTER TABLE tb_name ENGINE=InnoDB;
****SQL語句分類:****
******DDL: Data Defination Language******
********CREATE, DROP, ALTER********
查看數據庫列表:
SHOW DATABASES;
查看庫中所有表狀態:SHOW TABLE STATUS FROM db_name
創建數據表
CREATE TABLE [IF NOT EXISTS] ‘tbl_name’ (col1 type1修飾符, col2 type2 修飾符, ...)
ALTER TABLE ‘tbl_name‘字段:
添加字段:add
ADD col1 data_type [FIRST|AFTER col_name] 刪除字段:drop 修改字段:
alter(默認值), change(字段名), modify(字段屬性) 索引: 添加索引:add index 刪除索引: drop index 表選項
修改:
查看表上的索引:SHOW INDEXES FROM [db_name.]tbl_name;
查看表上的索引:SHOW INDEXES FROM [db_name.]tbl_name;
示例:
創建表
CREATE TABLE students (id int UNSIGNED NOTNULL PRIMARY KEY,name VARCHAR(20)NOTNULL,age tinyint UNSIGNED);
修改表
ALTER TABLE s1 ADD phone varchar(11) AFTERname;
******DML: Data Manipulation Language******
INSERT, DELETE, UPDATE
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
註意:一定要有限制條件,否則將修改所有行的指定字段
限制條件: WHERE
LIMIT
示例:
向表插入語句:
INSERT INTO students(id,name) VALUES(3,‘jack‘),(4,‘allen‘);
SELECT * FROM students ORDER BY name DESC LIMIT 1,2;
******DCL:Data Control Language******
GRANT, REVOKE
GRANT priv_type [(column_list)],... ON [object_type] priv_level TO ‘user‘@‘host‘ [IDENTIFIED BY ‘password‘] [WITH GRANT OPTION];
回收授權:REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level FROM user [, user] ...
示例:
授予權限:
GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO ‘someuser‘@‘somehost‘;
回收權限:
REVOKE DELETE ON testdb.* FROM ‘testuser‘@‘%‘
******DQL:Data Query Language******
SELECT
內連接有如下三種:
等值連接:讓表之間的字段以“等值”建立連接關系;
自然連接:等值連接不將重復屬性去掉,而自然連接去掉重復屬性,也可以說,自然連接是去掉重復列的等值連接。
不等值連接:等值連接:主要用除了等號之外的操作符,比如:<>、>、<、>=、<=、LIKE、IN、BETWEEN…AND。
整理Mysql 語句