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’
网友评论