CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name(
col_name type NOT NULL DEFAULT default_value AUTO_INCREMENT PRIMARY KEY,
);
查看表结构 SHOW COLUMNS/DESCRIBE
必选参数 查询 SHOW
可选参数 FULL
必选参数 列数 COLUMNS
必选参数 来自 FROM table_name
可选参数 来自 FROM database_name
——
必选参数 列出 DESCRIBE
必选参数 数据表名 table_name
可选参数 列名 col_name
查看表详细结构语句 SHOW CREATE TABLE
必选参数 SHOW
必选参数 CREATE
必选参数 TABLE
必选参数 table_name
可选参数 \G
修改表结构 ALTER TABLE
必选参数 修改 ALTER
可选参数 IGNORE
必选参数 表名 TABLE table_name
必选一参数 ADD | MODIFY | CHANGE | DROP
修改表名 ALTER TABLE table_name RENAME TO new_table_name
改变列名 CHANGE COLUMN old_col_name new_col_name type ….;
如果不改变列名 则写两遍
改变某列属性 ALTER TABLE table_name MODIFY COLUMN col_name type;
ALTER TABLE table_name DROP COLUMN col_name;
必选多可选 alter_spec,[alter_spec]
示例 ALTER TABLE table_name ADD col_name type col_definition,MODIFY col_name type;
重命名 RENAME TABLE
必选参数 RENAME
必选参数 TABLE
必选参数 表名 table_name
必选参数 TO
必选参数 new_table_name;
示例
RENAME TABLE old_name TO new_name;
删除表 DROP TABLE
必选参数 DROP
必选参数 TABLE
可选参数 是否存在 IF EXISTS
必选参数 table_name;
数据操作
插入数据 INSERT
必选参数 INSERT
必选参数 INTO
必选参数 数据表名(要插入的列) table_name(column_name1,)
必选多可选 VALUES(value1,value2),(value3,value4)
示例
INSERT INTO table_name(col_name1,col_name2) VALUES(value1,value2)
查询数据 SELECT
必选参数 查询 SELECT
可选子参数 DISTINCT 去掉重复行.
可选子函数 CONCAT(col_name1,连接字符串,col_name2);
必选参数 指定表 FROM
可选组合参数 第二条件 HAVING
筛选GROUP BY之后的参数
SELECT sex,COUNT(sex) FROM table_name GROUP BY sex HAVING COUNT(sex)>=3;
可选组合参数 条件 WHERE
等于 =
查询id=27的记录, 如果结果相等 返回1 不相等返回0
大于 >
小于 <
大于等于 =>
小于等于 <=
不等于 != 或 <>
多条件查询 AND
条件必须全部满足,才能被查询出来
SELECT * FROM table_name WHERE condition_1 AND condition_2 …可以无限AND叠加
SELECT * FROM table_name WHERE user=‘mr’ AND section=‘php’.
多条件查询 OR
满足其中一个条件就会被查出来
SELECT * FROM table_name WHERE condition_1 OR condition_2…OR无限叠加
SELECT * FROM table_name WHERE section=‘php’ OR section=‘程序开发’;
是否为空 IS NULL
SELECT books,row FROM table_name WHERE row IS NULL;
不为空 IS NOT NULL
SELECT books,row FROM table_name WHERE row IS NOT NULL;
范围 ..介于 BETWEEN AND
SELECT * FROM table_name WHERE condition BETWEEN 取值1 AND 取值2;
SELECT * FROM table_name WHERE id BETWEEN 5 AND 7;
范围 ..不在 NOT BETWEEN AND
SELECT * FROM table_name WHERE condition NOT BETWEEN 取值1 AND 取值2;
SELECT * FROM table_name WHERE id NOT BETWEEN 5 AND 7;
在范围之内 IN
SELECT * FROM table_name WHERE condition IN (元素1,元素2)
SELECT * FROM table_name WHERE user IN (‘mx’,’xiaomi’)
不在什么范围之内 NOT IN
SELECT * FROM table_name WHERE condition NOT IN (元素1,元素2)
SELECT * FROM table_name WHERE user NOT IN (‘mx’,’xiaomi’)
模糊查询 包含 LIKE
SELECT * FROM table_name WHERE user like ‘%mr%’
LIKE (‘李%’) 匹配 包含 李
LIKE (‘李_’) 匹配 李 + “ ”
模糊查询 不包含 NOT LIKE
正则表达式 REGEXP
语法:SELECT * FROM table_name WHERE 条件判断1 逻辑运算符 条件判断2
可选组合参数 分组 GROUP BY
SELECT 字段列表,聚合函数 FROM table_name GROUP BY 字段名 [ASC | DESC]
通俗说,GROUP BY是将 字段名一样的进行聚合函数的计算
示例
可选组合参数 排序 ORDER BY
SELECT * FROM table_name ORDER BY 字段1 [ASC|DESC] , 字段2 [ASC|DESC]
原理:如果第1段有相同的值,相同值的部分用第2个字段来排序。
可选组合参数 限定 LIMIT
限制返回数量 LIMIT 结果数;
LIMIT 3;
分页返回 LIMIT 起始位置,每页个数.
LIMT 1,4;从1开始往后查4个
多表组合操作
排序规则
示例
SELECT * FROM table_name;
SELECT col_name1,col_name2 FROM table_name;
SELECT table1.id ,table1.name FROM table1,table2 WHERE table1.name =table2.name AND table2.name =“”;
修改数据 UPDATE
必选参数 UPDATE
必选参数 table_name
必选参数 SET
可选复合参数CASE WHEN
UPDATE table_name
SET col_name=
CASE
WHEN condition THEN ‘value’
WHEN condition THEN ‘value’
WHEN condition THEN ‘value’
ELSE ‘value’
END;
可选复合参数 col_name =new_value1,col_name 2=new_value2
如果col_name不存在,则创建一个新列
可选参数 WHERE
可选参数 condition
删除数据 DELETE
必选参数 DELETE
必选参数 FROM
必选参数 table_name
可选参数 WHERE
可选参数 condition
聚合函数
COUNT(字段名) 计算非空记录数
SELECT COUNT(DISTINCT results) FROM student;
COUNT(*)全部统计
SELECT sex,count(sex) AS 人数 FROM student GROUP BY sex DESC.
AVG(字段名) 平均数
SELECT AVG(row) FROM table_name;
MIN (字段名) 最小值
SELECT MIN(row) FROM table_name;
MAX (字段名) 最大值
SELECT MAX(row) FROM table_name;
STD(字段名)指定字段标准背离值
STDTEV(字段名)指定字段标准背离值
SUM(字段名)指定字段所有记录的总合
SELECT sum(row) FROM table_name;
约束操作
外键 FOREIGN KEY
CREATE TABLE table_name(
int_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
contact_id INT NOT NULL ,
CONSTRAINT my_contacts_contact_id_fk
FOREIGN KEY (contact_id)
REFERENCES my_contacts (contact_id)
);
截图
检查约束 CHECK
连接查询
查询语句基本格式
SELECT selection_list //要查询哪些列
FROM table_name //指定数据表
WHERE primary_constraint 查询时要满足的条件,行必须满足的条件
GROUO BY grouping_columns //如何对结果进行分组
ORDER BY sorting_columns //如何对结果进行排序
HAVING secondary_constraint //查询时满足的第二条件
LIMIT count //限定输出的查询结果
SELECT * | id,user,col_name… FROM table_name 查询全部列或多列
内连接查询
SELECT name,books FROM table_name_1,table_name_2 WHERE table_name1.user =table_name2.user
内连接,结果集只包含参加连接的表中与指定字段相符的行.
如果没有WHERE限定,则为交叉连接或者全连接
相等联结
SELECT col_name FROM table_name INNER JOIN table_name WHERE conditions = conditions
不等联结
SELECT col_name FROM table_name INNER JOIN table_name WHERE conditions <> conditions
自然联结
SELECT col_name FROM table_name NATURAL JOIN table_name ;
左外连接
SELECT col_name FROM table_name1 LEFT JOIN table_name2 ON table_name1.col_name =table_name2.col_name;