MySQL基础知识点总结归纳
数据库操作
创建数据库
1 | mysql> CREATE DATABASE dbname; |
删除数据库
1 | mysql> DROP DATABASE dbname; |
选择数据库
1 | mysql> USE dbname; |
基本的SQL语句
增
1 | mysql> INSERT INTO TABLE_NAME (column1,column2...) VALUES (value1,value2...);//插入指定字段 |
删
1 | mysql> DELETE FROM TABLE WHERE COLUMN=VALUE;//删除指定的记录 |
查
1 | mysql> SELECT column1,column2... FROM TABLE;//所有列为SELECT * FROM TABLE |
改
1 | mysql> UPDATE TABLE SET column1=value1,column2=value2,... WHERE COLUMN=VALUE;//修改 |
指定的记录一个值或多个值
删改的时候一定要带where条件,
删除时分为物理删除,逻辑删除,一般建议逻辑删除,通过一个状态字段判断是否删除。
高级SQL查询
LIKE模糊匹配
1、SQL通配符(LIKE和NOT LIKE)
% 匹配0个或多个字符
_ 匹配一个字符
1 | mysql> SELECT column1,column2... FROM TABLE WHERE COLUMN LIKE "%lei%";//模糊匹配 |
2、正则模式匹配(REGEXP、NOT REGEXP和RLIKR、NOT RLIKE)
. 匹配任何单个的字符
* 匹配零个或多个在它前面的东西
[charlist] 字符列中的任何单一字符[a-z][0-9]
[^charlist] or [!charlist] 不在字符列中的任何单一字符
1 | mysql> SELECT column1,column2... FROM TABLE WHERE COLUMN RLIKR "lei*";//模糊匹配 |
ORDER BY排序
1 | mysql> SELECT column1,column2... FROM TABLE WHERE ORDER BY COLUMN ASC|DESC;//字段顺序或者倒序 |
LIMIT返回条数
1 | mysql> SELECT column1,column2... FROM TABLE WHERE LIMIT 5,10; // 检索记录行 6-15 |
NULL处理
IS NULL: 当列的值是NULL,此运算符返回true。
IS NOT NULL: 当列的值不为NULL,运算符返回true。
<=>: 比较操作符(不同于=运算符),当比较的的两个值为NULL时返回true。
关联
INNER JOIN(内连接或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
分组查询
GROUP BY column;//根据字段分组查询
分组结果筛选
HAVING