mysql 去重分页_数据库——MySQL(二)(增删查改、去重,分页、模糊查询、排序)...

新增所有列的记录:

●  语法: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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值