插入表数据:
一般情况下,向表中添加新的记录,应该包含此表的所有字段,也就是应该给表的所有字段添加值,
1.使用
insert into语句,指定字段名(可以是所有的字段,也可以是某几个字段),
INSERT INTO tb_student(id,name,age,gender) VALUES(7,‘a7’,1,1);
注意:指定的字段和values中的值要一一对应才行。
2.insert语句,不指定字段名,
INSERT INTO tb_student VALUES(8,‘a8’,1,1);
注意:不指定字段的时候,values中要包含所有的字段。也就是不指定字段的时候,values插入的是所有字段的值
3.特殊的语法格式,set 字段名=值,……
指定的字段或者全部字段
INSERT INTO studentSETid=2,name=‘lisi’,grade=88.5;
4.一次向表中插入多条数据:
INSERT INTO student VALUES(2,‘li’,98.5),(3,‘wang’,98.5),(4,‘zhao’,98.5);
也有2种方式,指定字段和不指定字段,这里使用的是不指定字段的方式,
更新表数据:
UPDATEstudentSETNAME=‘zhang’WHEREid=1;
注意,在更新表的语句中如果不指定where,会把所有记录的指定字段进行更新。
删除表数据
DELETE FROMstudentWHEREid<4;
注意,如果不指定where,将删除表中所有记录,要小心
另一种删除表数据所有记录的方法:
TRUNCATEstudent;
DELETE FROM (不加where)和 TRUNCATE 都能实现删除表中所有的记录,
1.影响
自动增加的字段值
运行TRUNCATE后,给表添加新纪录的时候,自动增加的字段值从1开始,
运行DELETE FROM后,添记录的时候,自动增加的字段值从运行 DELETE FROM 前的该字段的最大值再加1开始,
2.DELETE FROM被认为是 DML 语句,TRUNCATE被认为是 DDL语句。
3.DELETE FROM更灵活,当 DELETE FROM 不指定where时,时删除所有表记录,而指定where时则是删除指定的符合where条件的记录。
TRUNCATE只能用于删除表中所有的记录。
4.在执行DELETE FROM语句时,每一条被删除的记录都会被记录到日志中,而使用TRUNCATE语句不会被日志记录,因此, TRUNCATE 执行的效率更高。
简单查询:
select 语句
SELECT * from student; 查询所有字段
SELECT id from student; 查询指定字段
distinct,与众不同的,
where 条件表达式
关系运算符:
in 关键字:
between and 关键字:
空值查询,is [not] null:
distinct 去重复:
like 关键字:
匹配字符串,可以是普通字符串,也可以有% 和 _ 百分号和下划线两个通配符可以使用,
百分号 匹配任意多个(包括0个)字符
下划线 匹配任意单个(可将多个下划线组合使用)字符
注意,百分号和下划线在MySQL中都是被当作通配符来使用的,因此当要匹配的字符是百分号和下划线本身的时候,也就是你要搜索百分号和下划线本身的时候,要将百分号和下划线转义成普通字符,方法是使用右斜线\
and 关键字:
or 关键字:
当 and 、or 同时出现的时候,应该先算 and 两边的条件表达式,再运算 or 两边的条件表达式,因为 and 优先级高于 or。
高级查询:
聚合函数,用于统计数据
count()
sum()
avg()
max()
min()




































