mysql从入门到精通《二》

mysql从入门到精通《二》

二、命令行脚本(以乌班图为操作系统)接上篇

6、数据表的增删改查(curd)

curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)

#查询所有列
select * from 表名;
select * from classes;

#查询指定列
select 列1,列2,... from 表名;
select id,name from classes;

#增加
insert into 表名 values(...)
insert into students values(0,’郭靖‘,1,'蒙古','2016-1-2');

#部分列插入:值的顺序与给出的列顺序对应
insert into 表名(列1,...) values(值1,...)
insert into students(name,hometown,birthday) values('黄蓉','桃花岛','2016-3-2');
#多行插入
insert into 表名 values(...),(...)...;
insert into classes values(0,'python1'),(0,'python2');

#修改
update 表名 set 列1=值1,列2=值2... where 条件
update students set gender=0,hometown='北京' where id=5;

#删除
delete from 表名 where 条件
delete from students where id=5;

#逻辑删除,本质就是修改操作

update students set isdelete=1 where id=1;

#清空数据(会把全表都给清空掉,并且自增主键从1开始)
truncate table_name;

7、数据库备份与恢复

备份

#运行mysqldump命令
mysqldump -uroot -p 数据库名 >shuju.sql;
#按照提示输入密码 

恢复

#连接mysql,创建新的数据库,准备恢复数据
#退出mysql连接,执行以下命令:
mysql -uroot -p 新数据库名 <shuju.sql
#根据提示输入密码

8、查询

查询所有字段

select *from 表名;

select * from students;

查询指定字段

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

select *from students;

使用as给字段起别名

select 字段名 as 新名 from 表名;

select name as a from students;

使用as给表起别名

select 字段名 from  表名 as 新表名;

select name from students as s;

消除重复行

在select后面列使用distinct可以消除重复的行

select distinct 列1,。。。from 表名;

select distinct name from students;

9,条件

使用where 字句对表中的数据进行筛选,结果为True的行会出现在结果集中

(1)、查询编号大于3的学生信息

select * from students where id>3;

(2)、查询姓名不是“小明”的学生信息

select * from students where name !="小明";

(3)、查询编号大于3 的女生(and  or not )

select * from students where id >3 and gender="女生";

(4)、模糊查询

查询姓刘的学生

select * from where name like "刘%";

查询姓刘且名字为两个字的学生信息

select * from students where name like"刘_";

(5)、范围查询

查询编号是1或3或8的学生信息

select *from students where id in(1,3,8);

查询编号为1-8的学生信息

select * from students where id between 1 and 8;

查询学生编号为3-6的男生信息

select * from students where (id between 3 and 6) and gender="男生";

(6)、空判断

注意null 与""是不相同的

查询没有填写身高的学生

select * from students where height is null;

查询填写了身高的男生信息

select * from students where height is not null and gender="男生";

10、排序

为了方便查看数据,可以对查询出来的数据进行排序

默认排序方式为升序排列(asc)

asc从小到大排序

desc从大到小排序

(1)、查询男生信息,按照id降序排列

select * from students order by id desc;

(2)、显示所有的学生信息,先按照年龄从大-->小排序,当年龄相同时 按照身高从高-->矮排序

select * from students order by age desc,height desc;

11、聚合函数

(1)、总数

count(*)表示计算总行数,括号中也可以写列名

查询学生总数

select count(*) from students;

(2)、最大值

查询女生的编号最大值

select max(id) from students where gender="女生";

(3)、最小值

查询男生最小编号

select min(id) from students where gender="男生";

(4)、求和

查询男生的总年龄

select sum(age) from students where gender="男生";

(5),平均值

查询女生的平均年龄

select avg(age) from students where gender ="女生";

(6)四舍五入

查询女生的平均年龄并保存两位小数

select round(avg(age),2) from students where gender ="女生";

猜你喜欢

转载自blog.csdn.net/weixin_40612082/article/details/80306025