Mysql基础-DDL、TCL
Mysql基础-DDL、TCL
1.创建和管理数据库
2.使用数据库
3.修改数据库
4.创建、查看、修改、删除、清空表
4.1 创建
-
创建方式1
-
创建方式2
4.2 查看
4.3 修改
# 3.1 添加一个字段
ALTER TABLE myemp1
ADD salary DOUBLE(10,2); #默认添加到表中的最后一个字段的位置
ALTER TABLE myemp1
ADD phone_number VARCHAR(20) FIRST;
ALTER TABLE myemp1
ADD email VARCHAR(45) AFTER emp_name;
# 3.2 修改一个字段:数据类型、长度、默认值(略)
ALTER TABLE myemp1
MODIFY emp_name VARCHAR(25) ;
ALTER TABLE myemp1
MODIFY emp_name VARCHAR(35) DEFAULT 'aaa';
# 3.3 重命名一个字段
ALTER TABLE myemp1
CHANGE salary monthly_salary DOUBLE(10,2);
ALTER TABLE myemp1
CHANGE email my_email VARCHAR(50);
# 3.4 删除一个字段
ALTER TABLE myemp1
DROP COLUMN my_email;
#4. 重命名表
#方式1:
RENAME TABLE myemp1
TO myemp11;
DESC myemp11;
#方式2:
ALTER TABLE myemp2
RENAME TO myemp12;
4.4 删除
4.5 清空
5.TCL
DCL 中 COMMIT 和 ROLLBACK
COMMIT:提交数据。一旦执行COMMIT,则数据就被永久的保存在了数据库中,意味着数据不可以回滚。
ROLLBACK:回滚数据。一旦执行ROLLBACK,则可以实现数据的回滚。回滚到最近的一次COMMIT之后。DDL 和 DML 的说明
① DDL的操作一旦执行,就不可回滚。指令SET autocommit = FALSE对DDL操作失效。(因为在执行完DDL
操作之后,一定会执行一次COMMIT。而此COMMIT操作不受SET autocommit = FALSE影响的。)② DML的操作默认情况,一旦执行,也是不可回滚的。但是,如果在执行DML之前,执行了
SET autocommit = FALSE,则执行的DML操作就可以实现回滚。
#提交之前的事务
commit;
#查询job_grades表数据
SELECT * from job_grades jg ;
# 关闭自动提交
SET autocommit=FALSE ;
#删除表数据
DELETE from job_grades WHERE grade_level ='G';
# 查询job_grades表数据,发现已删除grade_level ='G'的数据
SELECT * from job_grades jg ;
# 回滚
ROLLBACK;
# 被删除的数据恢复
SELECT * from job_grades jg ;
# 恢复自动提交
SET autocommit=TRUE ;
6.内容拓展
5.1 阿里巴巴《Java开发手册》之MySQL字段命名
5.2 如何理解清空表、删除表等操作须谨慎
5.3 MySQL8新特性—DDL的原子化
本文来自博客园,作者:iaxusyy,转载请注明原文链接:https://www.cnblogs.com/ww-NoBugs/p/16177138.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程