备份和查询

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’

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 了解SQL 1.1 数据库基础 ​ 学习到目前这个阶段,我们就需要以某种方式与数据库打交道。在深入学习MyS...
    锋享前端阅读 4,951评论 0 1
  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 4,839评论 0 0
  • 一、SQL速成 结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件...
    shadow雨轩阅读 3,511评论 0 3
  • 手动不易,转发请注明出处 --Trance 数据库系统命令: (1).查看存储过程状态:show pro...
    Trance_b54c阅读 5,707评论 0 8
  • Unit One P32 【TITLE】 College is not an ivory t...
    129贾楠阅读 2,271评论 1 0

友情链接更多精彩内容