插入表数据:
一般情况下,向表中添加新的记录,应该包含此表的所有字段,也就是应该给表的所有字段添加值,
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 studentSET
id=2,name=‘lisi’,grade=88.5;
4.一次向表中插入多条
数据:
INSERT INTO student VALUES(2,‘li’,98.5),(3,‘wang’,98.5),(4,‘zhao’,98.5);
也有2种方式,指定字段和不指定字段,这里使用的是不指定字段的方式,
更新表数据:
UPDATE
studentSET
NAME=‘zhang’WHERE
id=1;
注意,在更新表的语句中如果不指定where,会把所有记录的指定字段进行更新。
删除表数据
DELETE FROM
studentWHERE
id<4;
注意,如果不指定where,将删除表中所有记录,要小心
另一种删除表数据所有记录的方法:
TRUNCATE
student;
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()