文章目录
操作数据库
创建,查询
修改,删除,使用数据库
操作表
查询
创建
删除drop table
复制create table A like B
#创建表student
create table student(
id int,
age int,
name varchar(20)
);
#复制一份表student到新的表stu
create table stu like student;
修改alter table A xxx
操作数据
插入insert into
注:
1.一次同时插入多条数据
如果要往数据库插入多条数据,可以改成values(record1),(record2),(record3)
,比起用for循环使用多条插入语句要节约性能。
2.关于auto_increment:
如果创建表时,某一列,例如id,被声明为int not null auto_increment,一开始插入了3条数据以后,删除第2条数据、想要再次插入第2条数据时,只需在values的列对应值填上2就行了。如果插入了一条id=5的数据,以后再次插入数据时,id值在没有填对应值的情况下。默认从5开始计数
删除delete from
修改update
查询语句
排序查询order by
例如:
select * from stu order by id; -- 默认是ASC
select * from stu order by age desc;
聚合函数()
例如:
select max(age) from stu;
select count(ifnull(birthday,0)) from stu;
分组查询group by
例如:
#以年龄进行分组,查看每个分组下的score的平均值
select age,avg(score) from stu group by age;
#以年龄进行分组,查看每个分组下的个数和score的平均值,要求低于70分的不计入分组中
select age,count(id),avg(score) from stu where math>70 group by age;
#以年龄进行分组,查看每个分组下的个数和score的平均值,要求低于70分的不计入分组中,只展示多于2个人的分组
select age,count(id),avg(score) from stu where math>70 group by age having count(id)>2;
分页查询limit
基础查询select from
条件查询where
例如:
select * from student where age not in (18,25,30);
select * from student where math is not null;
select name from student where english between 60 and 80;
select * from student where age = 20 or age =30;
select * from student where age >= 20 and age <=30;