新增所有列的记录:
● 语法:insert into 表名称 values (值1,值2,值3,...值n);
● 例子:insert into user values(‘张三’,‘演员’,22,‘男’);
注意:必须把所有列都进行新增,并且新增值的顺序需要与建表时列的顺序一致。新增值的数据类型要与列的数据类型相对应,数字型数据类型直接写,其他类型的值需要单引号引起来。replace也可以插入数据,相当于insert
------------------------------------------------------------------------------------------------------------------
新增指明列的记录:
● 语法:insert into 表名称(列名1,列名2,...列名n) values (值1,值2,...值n);
● 例子:insert into user (name,age,sex) values (‘张三’,22,‘男’);
注意:指明列的顺序可以不和建表时的顺序相同,新增值需要和指明列相对应,未指明列为默认值(default指定的值或者null)。同时,未指明列必须满足约束条件(如:列设置了not null,并且没有设置default)
------------------------------------------------------------------------------------------------------------------
修改列的所有记录:
● 语法:update 表名称 set 列名=值;
● 例子:update user set name=‘李四’;(把name列的值全部修改为‘李四’)
注意:在set关键字后跟上需要修改的列名和值的键值对。修改的权限小于表的约束权限,修改记录时必须满足表的约束条件,否则会报错
------------------------------------------------------------------------------------------------------------------
修改指明列的记录:
● 语法:update 表名称 set 列名=值 where 条件;
● 例子:update user set name=‘李四’ where sex=‘男’;(把sex为‘男’的记录的name列的值全部修改为‘李四’)
注意:修改列为多个时使用逗号分隔。条件为多个时使用and或者or分隔。如果没有where条件则指明列的数据都会被修改
------------------------------------------------------------------------------------------------------------------
删除所有的记录:
● 语法:delete from 表名称;
● 语法:truncate 表名称;
注意:两种方法都可以使用。但是删除记录时慎重,事物提交后无法恢复删除记录。要想恢复很复杂。truncate速度更快,占用日志更少(直接释放数据页并且在事物日志中也只记录数据页的释放)。而delete一行一行删除,在事物日志中要记录每一条记录的删除
------------------------------------------------------------------------------------------------------------------
删除指明条件的记录:
● 语法:delete from 表名称 where 条件;
● 例子:delete from user where name=‘张三’;(删除name为‘张三’的所有记录)
------------------------------------------------------------------------------------------------------------------
查询所有的记录:
● 语法:select * from 表名称;
● 例子:select * from user;
注意:* 表示所有的列
------------------------------------------------------------------------------------------------------------------
查询指明列的所有记录:
● 语法:select 列名 from 表名称;
● 例子:select name from user;
注意:多个列时,列名与列名之间使用逗号分隔,最后一个列名不需要逗号
------------------------------------------------------------------------------------------------------------------
查询时使用别名:
● 语法:select 列名 as‘别名’ from 表名称;
● 例子:select name as‘姓名’ from user;
注意:as关键字可以省略,多个列时不是所有的列都必须添加别名。别名只修改查询时列的名称,真正表的列名不会被修改
------------------------------------------------------------------------------------------------------------------
查询时使用算术运算符:(+、-、*、/)
● 语法:select 列名+值 from 表名称;
● 例子:select age+20 from user;
注意:算术运算符只作用在数值类型的列上。可以是固定值,也可以指定某列
------------------------------------------------------------------------------------------------------------------
带条件的查询:(>、<、=、>=、<=、!=(另一种写法<>))
● 语法:select * from 表名称 where 条件;
● 例子:select * from user where name=‘张三’;(查询name为‘张三’的所有记录)
------------------------------------------------------------------------------------------------------------------
去除重复记录:(distinct)
● 语法:select distinct 列名 from 表名称;
● 例子:select distinct age from user;
注意:distinct紧跟着在select关键字之后。如果查询多个列则会把查询的所有列的值进行拼接后,在去重
------------------------------------------------------------------------------------------------------------------
分页:(limit)
● 语法:select * from 表名称 limit m,n;
● 公式:select * from 表名称 limit((页码-1) * 行数),行数;
● 例子:select * from user limit 0,10;
注意:m表示从多少下标位开始(默认从0开始),n表示显示多少条记录。m如果省略掉。则默认从0下标位开始显示记录
------------------------------------------------------------------------------------------------------------------
复制查询出来的表结构及记录:
● 语法:create table 新表名称 as select * from 表名称;
● 例子:create table user1 as select * from user ;
注意:as关键字可以省略。复制的表不会把原表中的主外键约束进行复制
------------------------------------------------------------------------------------------------------------------
只复制表结构不复制记录:
● 语法:create table 新表名称 select * from 表名称 where 条件;
● 例子:create table user1 select * from user where 1=2 ;
注意:只需where条件为假就行
------------------------------------------------------------------------------------------------------------------
多条件的查询:(and、or、not)
● and:并且的意思,查询的记录必须都满足条件
● or: 或者的意思,查询的记录只需满足其中一个条件
● not:取条件表达式的反值
● 语法:select * from 表名称 where 条件;
● 例子:select * from user where not name=‘张三’;(查询出name不为‘张三’的所有记录)
注意:在条件与条件之间需使用and、or把条件进行连接起来
------------------------------------------------------------------------------------------------------------------
查询空值的记录:(null、‘’)
● 语法:select * from 表名称 where 列名 is null or 列名=‘’;
● 例子:select * from user where name is null or name=‘’;
注意:查询空值必须两个条件都写,查询null时只用is null。查询非空is not null
------------------------------------------------------------------------------------------------------------------
查询区间记录:(between)
● 语法:
select * from 表名称 where 列名 between m and n;
● 例子:select * from user where age between 20 and 50;(查询出age>=20并且<=50的所有记录)
注意:在m、n之间的记录,并包含m、n。and前写小值,and后写大值。between相当于age>=20 and age<=50的简写
------------------------------------------------------------------------------------------------------------------
查询具体值的记录:(in)
● 语法:
select * from 表名称 where 列名 in(值1,值2,....值n);
● 例子:select * from user where age in(20,22,23);(查询出age为20,22,23的所有记录)
注意:in相当于age=20 or age=22 or age=23的简写
------------------------------------------------------------------------------------------------------------------
模糊查询:(like、not like)
● 语法:
select * from 表名称 where 列名 like ‘条件’;
● 例子:select * from user where name like ‘%三%’;(查询出name含有三的所有记录)
注意:%表示任意长度的字符。_表示一个长度的字符
------------------------------------------------------------------------------------------------------------------
正则查询:(rlike)
● 语法:
select * from 表名称 where 列名 rlike ‘[条件]’;
● 例子:select * from user where name rlike ‘[张王]三’;(查询出张三或王三的所有记录)
● 例子:select * from user where name rlike ‘[^张王]三’;(查询出除了张三或王三的所有记录)
注意:[...]范围也可以为[0-9][a-z],也可以写固定的值
------------------------------------------------------------------------------------------------------------------
查询出来的结果进行排序:(order by)
● 语法:
select * from 表名称 order by 排序列名 排序要求;
● 语法:
select * from 表名称 order by 排序列名 排序要求,排序列名 排序要求;
(多列排序)
● 例子:select * from user order by age desc;(查询出来的记录根据age的降序排序)
注意:排序是对整行记录进行排序。desc表示降序,asc表示升序,如果省略了asc或者desc默认为升序
------------------------------------------------------------------------------------------------------------------
自己整理,有些地方是扒拉的,如有侵犯,还望告知