我用 LinuxLinux学习|Gentoo/Arch/FreeBSDLinux

备份和查询

2020-03-16  本文已影响0人  郭千岁呗

alter table (表名) add (字段名(约束);增加一列

alter table (表名) modify 字段名 约束 ;修改字段约束 但是不能修改字段名称

alter table (表名) change 旧字段名 新字段名 约束; 修改字段名称或约束

alter table (表名) drop 字段名  ;删除字段   

insert into (表名) values(数据) ; 这种方法,插入的数据列数一定要和表一样

insert into (表名)(字段名)  values(); 这种方法,可以指定列进行插入

insert into (表名) set 字段名=数据 ;这种方法,设置字段对应的数据

update (表名) set 字段名=数据 where 条件;更新数据

delete from (表名); 这种方法禁止使用,删除整个表数据,留下表结构

delete from (表名) where 条件; 删除指定数据

drop table (表名);

drop database (数据库名); 3、5

select * from (表名);查看整个表(生产环境切勿使用)

select 字段名,字段名 from (表名);按照指定列查找

select * from (表名) where 条件; 按照指定条件查找

select 的关键字  and, or ,  order by, group by, limit

sql  结构化查询语言 关系型数据库 性价比极高

一、

查询员工id为10200的员工是哪个?

  命令:mysql> select * from employees where emp_no='10200';

求员工总人数:

  命令: select count(*) from employees;

求员工平均薪资:

命令:select avg(salary) from salaries;

求1985年入职的人:

命令:select e.emp_no,e.first_name,e.last_name,d.from_date from  employees e,  dept_emp d where    left(from_date,4)='1985' limit 5;

求目前在职的员工:

命令:select count(emp_no) from  current_dept_emp  ;

求职称为’Staff’的人有多少?

命令: select count(*) from titles where title='Staff';

求职称为’Staff’的人:

命令:select e.emp_no,e.first_name,e.last_name,t.title from  employees e,  titles t where    title='Staff'  limit 5;

数据备份 导入导出

备份整库:命令: mysqldump -uroot -p’QianFeng@123’ -A > db.sql;

查看整库大小:命令: du sh *;

查看整库内容:tail -n 100 db.sql;

可以看到备份的是sql语句。

测试:删除其中一个库:再还原:

删除库:

增加表内容:在备份后加入的数据:

还原:命令1:mysql -u root -p’QianFeng@123’ < db.sql  (在命令行中输入)

      命令2:source db.sql  (在mysql中输入,绝对路径 ,当前路径下的可以直接输入)

采用命令2:

  过程中:

查看还原结果:

库恢复,在备份后加入的数据不存在了

备份指定库:命令:mysqldump -uroot -p’QianFeng@123’ -B discuz > b.db

(-B 也可以指定多个库)

单库备份:

多库备份:命令:mysqldump -uroot -p’QianFeng@123’ -B haha mysql >a.db

3.备份库结构:命令: mysqldump -uroot -p'QianFeng@123' -B haha -d > a.txt

4.备份表数据:命令:mysqldump -uroot -p'QianFeng@123'  haha t4  > b.txt

可以看到是元数据,不可外泄

导出导入数据:

查看可以导出数据的目录:命令:show variables like ‘secure_file_priv’;

默认在/var/lib/mysql-files/

导出数据:例如:salaries 前十条数据:

命令:select * from salaries limit 10 into outfile ‘/var/lib/mysql-files/a.txt’;

(只是导出记录,不导出表结构)

导入数据:

首先准备一个表,必须具有表结构:命令:create table aa(select * from salaries where 1=2);

导入数据:命令: load data infile ‘/var/lib/mysql-files/a.txt’ into table aa;

可选项:分隔符:命令:

filelds terminated by ‘,’,lines terminated by ‘\n’

上一篇 下一篇

猜你喜欢

热点阅读