此为实验楼mysql教程的学习笔记https://www.shiyanlou.com/courses/9
第五节
- 对数据库的修改
- 删除数据库
drop database <数据库名>;
- 对数据表的修改
-
表的重命名
rename table 原名 to 新名;
或
alter table 原名 rename 新名;
或
alter table 原名 rename to 新名;
-
删除一张表
drop table 表名;
-
对一列的修改(即表结构的修改)
a. 增加一列:
alter table 表名 add column 列名 数据类型 约束;
或
alter table 表名 add 列名 数据类型 约束;
注: 默认新增列在最后一列
after <列名> 即放在该列后面
first 放在第一列
b. 删除一列:
alter table 表名 drop column 列名;
或
alter table 表名 drop 列名;
c. 重命名一列:
alter table 表名 change 原列名 新列名 数据类型 约束;
注:“数据类型”不能省略
该语句还可以用于修改数据类型和约束(修改数据类型时可能会造成数据丢失)
d. 改变数据类型:
使用change或
alter table 表名 modify 列名 新数据类型;
-
对表的内容修改
a. 修改表中的某个值
update 表名 set 列1=值1,列2=值2 where 条件;
注: 条件不能省略
b. 删除一行记录
delete from 表名 where 条件;
如
delete from employee where name='Tom';
若不加条件,则会删除所有行(表还在)
第六节
- 索引(表中的结构,用于查询)
对一张表的某列建立索引:
alter table 表名 add index 索引名 (列名);
或
create index 索引名 on 表名 (列名);
查看建立索引:show index from 表名;
使用select查询时,会自动判断有没有可用的索引 - 视图(从一个或多个表中导出来的虚拟存在的表)
- 数据库中只存放视图的定义,无视图的数据。
- 使用视图查询数据时,系统会从原来表中取出对应的数据。(若原表中数据改变,则视图中的数据改变)
create view 视图名(列a,列b,列c) as select 列1,列2,列3 from 表名;
create view v_emp (v_mane,v_age,v_phone) as select name,age,phone from employee;
- 导入-导出
…
- 备份
备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。
在终端下备份
mysqldump -u root -p 数据库名>备份文件名(后缀为.sql);
备份整个数据库
mysqldump -u root -p 数据库名 表名>备份文件名;
备份整个表 - 恢复
a. 使用source语句打开备份的sql文件
或
b. 先建立一个空的数据库,然后在终端输入:mysql -u root -p 新建数据库名 < 备份文件名(别忘了.sql)