欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql中的增删改查补充

程序员文章站 2022-04-19 14:01:18
craete tb1(in int auto_increment primary key,name varchar(32),age int)engine=innodb charset=utf81.insert插入操作a,插入单行数据insert into table_name (attribute1,...,attributen) values (value1,...,valuen);b,插入多行数据insert into table_name (attribute......

craete tb1(

in int  auto_increment primary key,

name varchar(32),

age int

)engine=innodb charset=utf8

1.insert插入操作

a,插入单行数据

insert into  table_name (attribute1,...,attributen) values (value1,...,valuen);

b,插入多行数据

insert into  table_name (attribute1,...,attributen) values (value1,...,valuen),(value1,...,valuen)...;

c,两个具有相同属性表数据的复制粘贴

insert into tb2(attribute1,...,attributen)select  attribute1,...,attributen  from  tb1

2.delete删除

a,直接删除一张表

delete from table_name;

b,删除表里的某一条数据

delete from table_name where 条件语句(>,<,=,and,or都可以用或组合使用);

3.update修改

a,修改某一行数据

update  table_name  set  attribute=values,attribute=values,...  where  条件语句;

drop table table_name;

truncate table table_name ;

4.select查找

a,查询表里的值

select  * / attribute1 (as name1),attribute2 (as name2),..., [额外列(为常数显示一整列一样的值)]  

from  table_name  

where  条件语句(注意不等于的写法有两种:!= 或者 <>);

b,条件语句后面符合多个要求中的一个都ok/不ok的

select * from  table_name  where  attribute  in/not in  (value1,value2,...)/(select attribute from table_name[只能查一列])

select * from  table_name  where  attribute  between[闭区间] value1 and value2 ;

c,通配符%,_

select  *  from  table_name  where  attribute  like  '%a' [匹配以a结尾的值]/'%a%'[匹配包含a的值]/'a%'[匹配以a开头的值]

select  *  from  table_name  where  attribute  like  'a_' /'_a_'/'_a'[a是任意的,_只代表一个字母]

d,limit,offset限制

select  *  from  table_name  limit num[表示取表里前num条数据];

select  *  from  table_name  limit start,nums[表示从start位开始(start的取值从0开始),取nums条数据];

eg. select  *  from  tb1  limit  0,10 ; 表示从tb1里取前10条数据。

select  *  from  table_name  limit num[表示取表里num条数据]  offset start[表示取值的起始位置];

limit,offset可以完成分页

e,order by排序

select  *  from  table_name  order  by  attribute  desc[降序]/asc[升序]; 默认是升序排列。

select  *  from  table_name  order  by  id  desc  limit 10;取后十条数据

select  *  from table_name  order by  attribute1  desc,  attribute2  asc[先按照attribute1降序排列,如果遇到属性1值相同的项]

f,group by分组

select  count(attribute1)/max(attribute1)/min(attribute1)/sum(attribute1)/avg(attribute1)[聚合函数,不管用了多少聚合函数最后只会出一个结果],attribute2 

from table_name

group by attribute2

having   count(attribute1)/max(attribute1)/min(attribute1)/sum(attribute1)/avg(attribute1)的条件判断。

where条件不能出现聚合函数

 

 

 

 

 

 

 

 

 

 

 

本文地址:https://blog.csdn.net/chengbangyan_38421/article/details/107158034