MySQL—创建和管理表(六)

1.数据库相关操作

-- 1 创建数据库
-- 1.1 创建一个保存员工信息的数据库
CREATE DATABASE employees;
-- 1.2 其他相关指令
-- 1.2.1 查看当前所有数据库
SHOW DATABASES;
-- 1.2.2 “使用”一个数据库,使其作为当前数据库
USE employees;

-- 2 命名规则
-- 见ppt

2.表相关操作

-- 3 创建表:CREATE TABLE XXXX
-- 3.1 创建一个dept表
CREATE TABLE dept(
deptno INT(2),
dname VARCHAR(14),
loc VARCHAR(13)
);
-- 3.2 查看表结构
DESC dept;
-- 或
DESCRIBE dept;

-- 更改编码方式
ALTER TABLE emp CHARACTER SET utf8mb4;

3.常用数据类型

-- 4 常用数据类型
CREATE TABLE emp(
#int 类型,自增
emp_id INT AUTO_INCREMENT,
#最多保留20个中英文字符
emp_name CHAR(20),
#总位数不超过15位
salary DOUBLE,
#日期类型
birthday DATE,
#主键
PRIMARY KEY(emp_id)
);

-- 插入数据
INSERT INTO emp(emp_name, salary, birthday)
VALUES("恩泽", 2088, "2000-01-01"),("洪恩", 3099, "1999-12-11");

 4.使用子查询创建表

-- 5 使用子查询创建表:将创建表和插入数据结合起来
CREATE TABLE emp1 AS SELECT * FROM emp;
CREATE TABLE emp2 AS SELECT * FROM emp WHERE emp_id = 1;

5.alter table

-- 6. 更改表:ALTER TABLE XXXX
-- 6.1 追加一个新列
ALTER TABLE emp ADD job_id VARCHAR(15);
-- 6.2 修改列的数据类型、尺寸、默认值等
-- 6.2.1 修改emp_name字段类型
ALTER TABLE emp MODIFY emp_name VARCHAR(15);
-- 6.2.2 修改salary字段精度和默认值
ALTER TABLE emp MODIFY salary DOUBLE(9,2) DEFAULT 1000;
-- 测试
INSERT INTO emp(emp_name, birthday)
VALUE("轮回","2023-05-08");
-- 6.2.3 删除一个列
ALTER TABLE emp DROP COLUMN job_id;
-- 6.2.4 重命名一个列
ALTER TABLE emp CHANGE emp_name employee_name  VARCHAR(15);

6.删除表操作集合

-- 7.1 DROP TABLE:数据和结构都被删除,不能回滚
DROP TABLE emp;
-- 7.2 TRUNCATE TABLE:删除表中所有数据,释放表的存储空间;不能回滚
TRUNCATE TABLE emp;
-- 7.3 DELETE:删除数据;可以回滚
DELETE FROM emp;

 演示:

-- 测试
-- 删除操作之前查看数据
SELECT * FROM emp;
-- 删除数据
DELETE FROM emp;
-- 查询删除结果
SELECT * FROM emp;
-- 回滚
ROLLBACK;
-- 查询回滚结果
SELECT * FROM emp;

 执行结果:

 

 补充说明:

        要想回滚成功,需要关闭自动提交!如下是查看和更改自动提交的方式:

-- ************补充知识:自动提交************
-- 查询自动提交 ON:是自动提交,即commit ;OFF:不是自动提交,需要commit
show variables like 'autocommit';
-- 关闭自动提交
set autocommit = 0;
-- 打开自动提交
set autocommit = 1; 

7.更改表的名字

-- 8 改变对象的名称:必须是对其的拥有者
ALTER TABLE emp RENAME TO emp001;

参考:

1.Navicat自动提交的开和关_navicat设置自动提交_人……杰的博客-CSDN博客 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值