1.对于MySQL的基本操作
1.删除语句
1. DELETE FROM + 表名称 (不改变表格结构);
2.DROP TABLE + 表格名 (删除表,即连同表格结构整个删除);
3.TRUNCATE TABLE + 表名称(只删除表的数据);
注意: DELETE 与 DROP 、 TRUNCATE 的区别:
DELETE是数据库操作语言(DML),事务提交之后才生效;
DROP 和 TRUNCATE 是数据库定义语言(DDL),没有回滚,操作后立即生效。
2.增加语句
1.INSERT INTO + 表名 + VALUES + (列 1 的值,列 2 的值,列 3 的值......);
注意:如果其中 列 1 为自增的值,则可以直接写列名,则自动生成值,而且此值累加,可以通过 TRUNCATE TABLE 语句删除所有数据,来重置自动递增的值。
3.修改语句
UPDATE + 表名 + SET + 要修改的列名 = 新值 + WHERE + 主键的列名 = 主键对应的要修改的此行的值
注意:意思就是通过 WHERE 之后的主键确定要修改的行,然后通过前面的要修改的列名确定要修改的位置,然后在 新值 处写入具体的值。
4.查询语句(select)
1.SELET +列名(若显示整张表格,则写 * 即可) +FROM + 表名 :可以查询某一列或者整张表的数据;
2.WHERE、AND、OR : 在上一个语句后面加 WHERE 可以给数据限定条件;
例如:(1)SELECT * FROM employee WHERE name = 'jazz' :只显示了整张表中name列中值
为 jazz 的行;
(2)SELECT * FROM employee WHERE name = 'jazz' OR name = 'tom' : 只显示了整张
表中name列中值为 jazz 或者 tom 的行。若使用 AND 语句则显示的是要求同时满足写入的条件。
注意:AND的优先级高于OR,可以使用()控制优先级顺序。
3.ORDER BY : 根据指定的列对表格进行排序(默认的排序是升序)
语法 : SELECT + 要显示的列名 1 、列 2 ...... + FROM + 表名 + WHERE + 指定的列,若想改成降序,则在后面加上 desc;
注意:对多个列进行排序:ORDER BY (列1,列2.......列n),此排序是在列1 的基础上排序
后,再按列2进行排序。
4.DISTINCT : 用于仅选取唯一不同的值
语法 :SELECT + DISTINCT + 列名 +FROM + 表明
5.LIMIT语句:用于选取前某几行的数据
语法 :SELECT + 列名 + FROM + 表名 + LIMIT + 要选取的行数
6.LIKE语句(非常重要):用在WHERE之后作为特定条件
例如:SELECT * FROM employee WHERE `name` LIKE 't%' ,选取employee里name列的以 t 开头
的行,若选择以 t 结尾的则可以把 't%' 改为 '%t' ,若条件是包含则可以是 '%+ 包含的字符+ %' 。
7.NOT LIKE:用在WHERE之后作为特定条件,与LIKE的作用正好相反。
8.通配符的使用:必须与LIKE搭配使用,只用于varchar类型的数据
9.IN语句:用在WHERE之后作为特定条件,用于规定指定的值
SELECT * FROM employee WHERE `name` IN (值1,值2......),选取name列里面
包含值1、值2.....的行,相当于 name = 值1 OR name = 值2,如果in中的数据有null值,null值
不会被查询出。
10.BETWEEN.....AND......语句:用在WHERE之后作为特定条件,选取两个不同的值之间的数据
例如:SELECT * FROM employee WHERE `name` BEWTEEN 值1 AND 值2 , 在MySQL中, 选取的行会同时
包含值1的行和值2 的行,在其他的sql中,可能不会包含边界条件所在的行。
11 . AS语句或者空格 :即别名,可以将表名或者列名指定为一个别名。
例如:SELECT * FROM employee AS em WHERE em.salary BETWEEN 1000 AND 2000;
SELECT salary AS sa FROM employee;
12.is null 语句:针对空值的查询,不能使用 列名 = null 来查询,这样查询没有结果。
可以使用is not null ,查询不是空的数据(not可以放在between、like、in的前面以及is 的后
面)
13.ifnull 语句(经常使用):ifnull(expert1,expert2),当expr1的结果是null时,使用expr2的结果
当expr1的结果不是null时,使用expr1的结果。