数据库

mysql的增删改查以及备份数据库

2018-06-26  本文已影响1人  陆_志东

执行sql文件

使用source file_path(绝对路径)

备份数据库

mysqldump -uuser -ppassword database_name [table1,table2] > ./back.sql
如果不在数据库名后面写具体的表名的话就是备份整个数据库,写具体的表名只备份单张或者多张(依据你写几张表的表名)表

普通的插入(增)

插入单行

insert into students(id,name,age) value(1,"xiaodong",23);

插入的另一种方式
insert into students set id=1,name="nick",age="23";

插入多行

insert into students(id,name,age) values (1,"xiaodong",23),(2,"xiaowang",24),(3,"xiaohong",25);

插入现有的表数据到已有表中

insert into class1(name,age) select name,age from students;

插入现有的表数据到新创建的表中

select name,age into class2 from students;

删除满足条件的行

从students表删除id=1的数据
delete from students where id = 1;
从students表删除name为xiaodong的数据
delete from students where name = "xiaowang";

删除整个表

删除表students
drop table students;

修改class1表id为1的age为22
update class1 set age = 22 where id =1;
如果要修改多字段
update class1 set age=22,name="Nick" where id = 1;

精确查找

select * from students where id >2 order by id asc;
# asc 升序, desc 降序

查询所有行和所有列

select * from students;

查询指定行,部分列

select id,name from students where id =3;

查询空行

select * from students where age is null;

查询的时候使用常量

select name, 24 as age from students
显示查询结果时,把所有的age都为24,但没有更改数据库数据

返回限制的行数

查询前10条age的数据
select top 10 age from students;

查询前60%的name 数据
select top 60 percent name from students;

模糊查询

查询name为小开头的且名字为2位的符合条件的行的所有列数据
select * from students where name like "小%"

查询name以xiao开头的不限制名字位数的行的所有列数据
select * from students where name like "xiao*"

分组查询

查询学号,学号对应的平均成绩,以学号分组
select student_id,AVG(score) as 平均成绩  from students group by student_id

使用having子句进行分组筛选
查询成绩科目再2门以上的学生的学号,名字,总分
select student_id as 学号,name as 名字,SUM(score) as 总分 from students group by student_id having count(score)>2;

多表连接查询

查询表a和表b相同name值的记录,返回 a表的name字段,b表的age字段
select a.name,b.age from a,b where a.name = b.name;

使用inner join 
inner join 会将两张表符合条件的数据整合到一行上面,供你查找
select a.name,b.age from a inner join b on (a.name = b.name)

外连接: 分为左连接left join和右连接 right join
左连接的结果是除了匹配条件的数据还包含左边表中的所有数据,表结构以左边的表为准,右边表不存在左边的表数据时,补齐null,多的不显示

右连接的结果是除了匹配条件的数据还包含右边表中的所有数据,理论同左连接一样

上一篇下一篇

猜你喜欢

热点阅读