1、增 a、全列插入: insert into 表名 values(...) 通常主键列是自动增长的,但是在全列插入时需要占位,通常使用0,插入数据后以 实际使用为准 例如:insert into student values(0,"tom",19,1,0); b、缺省插入 insert into 表名(列名,列名,...) values(值1,值2,...) 例如:insert into student(name,age) values("lili",17); c、同时插入多条数据 insert into 表名 values(),(),... 例如:insert into student values(0,"han",15,1,0),(0,"tyu",19,1,0),(0,"tfgm",29,1,0); 2、删 delete from 表名 where 条件 例如 delete from student where id = 3; 3、改 update student set 列1=值1,列2=值2,列3=值3,...where 条件; update student set age=16 where id =5; 没有条件就是全部列都修改,慎用 4、查 a、基本语法 select *(列名称) from 表名 from关键字后面是表名,表名数据来源 select后面是表中的列名,如果是*,表示在查询结果中显示表的所有列 在select后面的列名部分,可以使用as为列名起别名,这个列名显示在结果中 如果要查询多个列,之间使用逗号分隔 b、消除重复行 在列名前面使用distinct可以消除重复行 select distinct gender from student c、条件查询 1)语法 select *from 表名 where 条件 2)比较运算符 等于 = 大于 > 小于 < 大于等于 >= 小于等于 <= 不等于 != 如:select * from student where id >4; 3)逻辑运算符 and 并且 or 或者 not 非 select * from student where (id>2 and id<5); 4)模糊查询 select * from 表名 where 列名 like 表达式 _ -->一个任意字符 % -->任意多个任意字符 例如 select * from student where name like "h%"; 5)范围查询 in 表示在一个非连续的范围内 select * from student where id in (1,2,5); between...and... 表示在一连续的范围内 select * from student where id between 1 and 5; 6)空判断 select * from 表名 where 列名 is null; 注意null与""是不同的 判断空:is null 判断非空:is not null select * from student where address is null; d、聚合 为了快速的统计数据,提供了5个聚合函数 1)count(*) 计算总行数,()中可以写*及列名 select count(*) from student; 2)max(列) 求此列的最大值 select max(id) from student where gender=0; 3)min(列) 求此列的最小值 4)sum(列) 求此列的和 select sum(age) from student; 5)avg(列) 求此列的平均值 e、分组 按照字段分组,表示此字段相同的数据会被放到一个集合中 分组后,只能查询出相同的数据列,对于有差异的数据列无法显示在结果集中 可以对分组后的数据进行统计,做聚合运算 语法 select 列1 列2 聚合... from 表名 group by 列1,列2,列3,... 查询男女生总数 select gender,count(*) from student group by gender; select name,gender,count(*) from student group by gender,age; 分组后的数据筛选:select 列1,列2,聚合... from 表名 group by 列1,列2,... having 列1,... 聚合... 例如:select gender,count(*) from student group by gender having gender=0; where与having的区别: where是对原始数据查询,having是的分组的结果进行查询 f、排序 语法 select * from 表名 order by 列1 asc|desc, 列2 asc|desc,... 说明: 将数据按照列1进行排序,如果某些列1的值相同,则按照列2排序... 默认按照从小到大的顺序排序 asc升序 desc降序 按照年龄排序 select * from student where gender=0 order by age desc; g、分页 语法:select * from 表名 limit start/起始项,count/条数 如: select * from student limit 1,4; select * from student where gender=0 limit 0,1; 5.关联 建表语句 create table class(id int auto_increment primary key,name varchar(20) not null,stuNum int not null) create table students(id int auto_increment primary key,name varchar(20) not null, gerder bit default 1 not null,classid int not null,foreign key (classid) references class(id)); 插入数据 insert into class values(0,"english",23),(0,"math",53),(0,"chainese",34); insert into students values(0,"toma",1,1),(0,"lilei",0,2); 关联查询: select students.name,class.name from class inner join students on class.id=students.classid; 表A inner join 表B 表A与表B匹配的行会出现在查询结果中 表A left join 表B 表A与表B匹配的行会出现在结果集中,外加表A中独有的数据,未对应的数据使用null填充 表A right join 表B 表A与表B匹配的行会出现在结果集中,外加表B中独有的数据,未对应的数据使用null填充
mysql 数据操作 增删改查
猜你喜欢
转载自blog.csdn.net/weixin_40938748/article/details/85346192
今日推荐
周排行