一、增加表记录(相当于插入表记录)
1. 插入完整数据(顺序插入)
语法一:
INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);
语法二:
INSERT INTO 表名 VALUES (值1,值2,值3…值n);
2. 指定字段插入数据
语法:
INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);
3. 插入多条记录
语法:
INSERT INTO 表名 VALUES
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n);
4. 插入查询结果
语法:
INSERT INTO 表名(字段1,字段2,字段3…字段n)
SELECT (字段1,字段2,字段3…字段n) FROM 表2
WHERE …;
二、更新表记录
1、格式:
语法:
UPDATE 表名 SET
字段1=值1,
字段2=值2,
WHERE CONDITION;
示例:
UPDATE mysql.user SET password=password(‘123’)
where user=’root’ and host=’localhost’;
2、注意:
update 是用于修改或者说是更新数据记录,而set是设置更新那些字段(列)对应什么值,where是一个限制条件,只要与where连用才能精确的定位某一个数据记录,然后将其修改,如果没有where语句,那么就相当于是修改列下所有的数据记录。
三、删除表记录
1、delete from table_name [where 条件字句]; ge:delete from user where password='' '' 这就是所有用户删除密码
2、truncate table table_name;
3、注意1和2都是删除表记录的,但是如果想删除表中某一行记录建议选择1,如果想删除表中所有记录选择2,删除表所有数据时1是先读取整张表的数据然后逐条删除,2是直接把表删除然后新建一张字段一样的表。
四、查询表记录
1、格式:
select *| 字段名1 [as] [别名],字段名2 [as] [别名],... from table_name where 字段名 字句条件
group by 字段名 字句条件
having 筛选条件
order by 字段名 [desc|asc]
limit 限制条件;
2、where字句中可以使用:
2.1 > < >= <= <> != 表示比较运算符:
2.2 between sum1 and sum2 表示值在sum1和sum2之间的数据
2.3 in(sum1,sum2......) 表示所要查询在括号内的值
2.4 like '字符串%‘ 表示模糊查询
2.5 and or not 表示逻辑查询
3、order by 字句
3.1 order by 是让查询出来的记录按照顺序有序显示出来,其中默认的是按照asc从小到大排序,也可以按照desc从大到小排序,但必须写在句末。
3.2格式:
select * from table_name order by 字段名 [desc|asc];
4、limit 字句
4.1用于限制查询出的数据记录条数
4.2 格式:
select * from table_name limit sum1[,sum2];
4.3 eg:
select * from table_name limi 2,5; 表示跳过前2行从第三行开始显示5行
5、正则表达式:
5.1 regexp 可以支持^ {sum} $,其中^表示以什么开头,$表示以什么结尾,{sum}表示出现多少次
5.2 eg:
select * from table_name where 字段名 regexp '^x' ; 表示查找以x开头的数据记录
select * from table_name where 字段名 regexp 'x$' ; 表示查找以x结尾的数据记录
select * from table_name where 字段名 regexp 'x{2}' ; 表示查找x出现两次的数据记录
6、聚合函数:
6.1 count(列名):统计行数,相当于统计一列中有多少行。
eg: select count(列名) from table_name;
6.2 sum(列名) : 统计列中的和,相当于把一列中的数据相加起来。
eg: select sum(列名) from table_name;
6.3 avg(列名):统计一列中的平均值,相当于一列中的数据相加再除以一列中的数据的行数。
eg: select avg(列名) from table_name;
6.4 max|min(列名):统计一列中的最大|最小值
eg:select max(列名)|min(列名) from table_name;
7、group by
7.1 格式:
select * from table_name group by 字段名 [having 逻辑判断条件];
7.2group by 分组后面可以和having 连用。
8、having
8.1 select * from table_name having 逻辑判断条件;
8.2having和where的区别:
使用where的地方都可以用having替换
having可以用在分组的后面也可以在分组前面,而where只能在分组前面
having可以使用聚合函数,而where不行