Mysql数据操作管理

为表中字段插入数据

insert into <表名> values(值1,值2.....值n);//不指定具体的字段名
insert into 表名(字段1,字段2...) values(值1,值2...);//列出所有的字段名,字段名顺序可以变换,值也随之变换

为表的指定字段插入数据

insert into 表名(字段名1,字段名2..) values(值1,值2...);

同时插入多条记录

insert into 表名(字段1,字段2....字段n) values
(...),
(...)
);

修改数据

update 表名 set 字段1=值1,字段2=值2...字段n=值n where 条件表达式;

 删除数据

delete from 表名[WHERE条件表达式];//where表达式指定删除哪条记录

单表查询(从一张表中查询所需的数据)

select 字段列 from <表名或视图名> [where <条件表达式>]...;

 查询学生的所有信息

select * from 表名;

查询指定字段

select 字段1,字段2 from 表名;

为表和字段取别名

select sno'学号',grade'成绩' from sc;

条件查询(where)

带关系运算符和逻辑运算符的查询

select sno,sname from where grade>90;

带IN关键字的查询

select sno,grade from sc where grade in(65,75,85);

Between and查询

select sno,grade from sc where grade between 70 and 80;

带IS NULL关键字的空值查询

select sno,grade from sc where zno is null;//不可将is换成=

带LIKE关键字的查询

select * from sc where sname like '蓝莓';//like此时与‘=’等价

%:代表任意长度的字符串(b%k表示以b开头,k结尾的字符串)

‘-’:只能表示单个字符(b_k表示三个字符)

NOT LIKE:查询字符串不匹配的情况

分组查询

group by 字段名 [HAVING 条件表达式][WITH ROLLUP];//HAVING限制分组后的显示,WITH ROLLUP为所有记录的总和
eg:select sex,count(ssex) from sc gruop by ssex having count(ssex)>=10;
select * from sc group by ssex://按ssex字段进行分组查询

对查询结果排序

order by 字段名[ASC|DESC];//ASC表升序,DESC表降序
eg:select * from sc order by zno DESC;//按zno字段降序排列

限制查询结果数量

select * from sc order by sno limit 2,3;//从表中查找第三名同学开始的三位学生的信息(行数从0开始)

COUNT统计sc表中的记录数

select count(*) as '学生总人数 from sc;//统计sc记录数

SUM函数(求某个字段的和)

select sno,sum(grade) from sc where sno='1412';//1412号同学的总成绩

合并查询结果

select * from sc where sex='女' union select * from student where birth>'1997=01-09';

 内连接查询

等值连接(INNER JOIN)

select * from sc inner join course on sc.cno=course.cno limit 4;//返回的结果限制在4条以内

自然连接(NATURAL JOIN)---------在等值连接基础上去掉重复记录

外连接查询

select 字段表 from 表1 left|right join 表2  on 表1.字段=表2.字段;
eg:select course.cno,course.cname,sc.cno,sc.cname from course left join sc on course.cno=sc.cno;

子查询

select * from sc  where sno not in(select sno from sc);

EXISTS查询

select * from sc where exists(select * from specialty where zname='金融');

ANY、ALL关键字查询(课本196)

 

posted @ 2020-12-07 11:53  简笺  阅读(88)  评论(0编辑  收藏  举报