表关系 主键冲突 蠕虫复制 limit 数据源 where子句 group by子句

--给my_class表增加主键

alter table my_class add primary key(name);

--插入数据

insert into my_class

values('python1910','B409');

insert into my_class

balues('python1910','B510');

--主键冲突:更新

insert into my_class

values('python1910','B510')

--冲突处理

on duplicate key update

--更新教室

room='B510'

insert into my_class

values('python1907','B403');

--主键冲突:替换

replace into my_class

values('pythonb1907','A203');

replace into my_class

values('python1811','B407');

--复制创建表

create table my_copy like my_class;

--蠕虫复制

insert into my_copy select * from my_class;

--删除主键

alter table my_copy drop primary key;

insert into my_copy select * from my_copy;

--更新部分1811变成1911

update my_copy set name='python1911' wyere name='python1811' like 3;

--删除数据:限制记录数为5

delete from my_copy where name='python1903' limit 5;

给my_student表增加主键

alter table my_student modify id int primary key

auto_incremen;

--清空表:重置自增长

truncate my_student;

--select 选项

select * from my_copy

select all * from my_copy;

--去重

select distinct * from my_copy;

--向学生表插入数据

insert into my_student

values(null,'bc2020001','张三','男'),

(null,'bc2020002','李四','男'),

(null,'bc2020001','王五','男'),

(null,'bc2020001','赵六','女'),

(null,'bc2020001','小明','男');

--字段别名

select id, number as 学号,name as 姓名,

sex 性别 form my_student;

--多表数据源

select * from my_student,myclass;

--子查询

select * from (select * from my_student) as s;

--增高age年龄和height身高字段

alter table my_student add age tinyint unsigned;

alter table my_student add height tinyint unsigned;

--增加字段值:rand取得一个0到1之间的随机数,floor向下取整

update my_student set age=floor(rand()*20+20),height-floor(

rand()*20+170);

--找学生id为1,3,5的学生

select * from my_student where id=1 | | id=3 | | id=5; --逻辑判断

select * from my_student where id in(1,3,5); -- 落在集合中

--找身高在185到190之间的学生

elect * from my_student where height>=185 and height<=190;

elect * from my_student where height between 185 and 190;

elect * from my_student where height between 190 and 185;

select * from my_student where 1; -- 所有条件都满足

--根据性别分组

select * from my_student group by sex;

--分组统计:身高高矮,平均年龄,总年龄

select sex,count(*),max(height),min(height),avg(age),sum(

age) from my_student group by sex;

--修改id为4的记录,把年龄设置为NULL

update my_student set age=null where id=4;

select sex,count(*),count(age),max(height),min(height),avg(

age),sum(age) from my_student group by sex;

--修改id为1的记录,把性别设置为女

update my_student set sex='女' where id=1;

--nan  nv

--倒序

select sex,count(*),count(age),max(height),min(height),avg(

age),sum(age) from my_student group by sex desc;

--删除班级表主键

alter table my_class drop primary key

auto_incremrnt;.

--给学生表增加一个班级表的id

alter table my_student add c_id int;

update my_student set c_id=ceil(rand()*4);

insert into my_student values(6,'bc20200006','小芳',

'女',18,160,2);

--多字段分组:先班级,后男女

select c_id, sex,count(*) from my_student group by

c_id,sex; -- 多字段排序

select c_id,sex,count(*),group_concat(name) from

my_student group by c_id,sex;

你可能感兴趣的:(表关系 主键冲突 蠕虫复制 limit 数据源 where子句 group by子句)