数据库学习笔记

62 阅读3分钟

数据库学习2024/3/17

第十章_创建和管理表

1.创建和管理数据库

1.1

CREATE DATABASE 数据库名;#创建的数据库是默认的字符集

1.2

CREATE DATABASE 数据库名 CHARACTER SET '字符集'

1.3

CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET '字符集'

2管理数据库

SHOW DATABASES;(查看所以数据库)

USE 数据库;(使用数据库)

TABLE 数据库;(查看当前数据库中保存的数据表)

SELECT DATABASE() FROM DUAL;(查看当前数据库)

SHOW TABLE FROM 数据库;(查看指定数据库中保存的数据表)

SHOW CREATE DATABASE 数据库(查看数据库字符集)

3修改数据库

3.1更改数据库的字符集

ALTER DATABASE 数据库名 CHARACTER SET '字符集'

3.2删除数据库

DROP DATABASE 数据库名;

DROP DATABASE mysql1;

4如何创建数据表

方式1:直接创建

CREATE TABLE IF NOT EXISTS 表名();#没有指明字符集则和数据库字符集相同

DESC 表名;(查看表) DESC employees;

方式二:基于现有表创建,同时导入了数据

案例:

CREATE TABLE mysql3

AS

SELECT last_name 名字,salary

FROM employees;

DESC mysql3

结论:1.查询语句中的别名可以成为新表的名称

2.查询语句丰富,可以用各种select

3.当不需要数据时可以加where 1 = 2 ;

5修改表 alter table

5.1添加一个字段

ALTER TABLE 表名 ADD 字段

拓展:字段后加FIRST可将添加字段派在最前面,AFTER+字段 可将添加字段派在字段后面

5.2修改一个字段:数据类型、长度、默认值

数据类型一般不修改

ALTER TABLE 表名 MODIFY 字段 数据类型(修改默认值是后面加 DEFAULT '字符串')

5.3删除一个字段

ALTER TABLE 表名 DROP COLUMN 字段;

5.4重命名一个字段:改名时也可以修改长度

ALTER TABLE 表名

CHANGE 字段 数据类型

6.重命名表

RENAME TABLE 表名

TO 新表名;

7删除表

即删除了表结构,也删除了表数据

DROP TABLE 表名; #或 DROP TABLE IF EXISTS 表名;

8清空表

清空表数据,保留表结构

TRUNCATE TABLE 表名

8.DCL中COMMIT和ROLLBACK

#commit:提交数据。一旦执行了COMMIT,则数据永久保存在了数据库中,意味着不可以回滚。

#ROLLBACK:回滚数据.一旦执行ROLLBACK,则可以实现数据的回滚(撤销)。不一定成功 回滚到最近一次的commit操作

9.对比 TRUNCATE TABLE 和 DELETE FROM

相同点:都可以清空表数据,保留表结构

不同点:

TRUNCATE TABLE:一旦执行此操作,表数据全部清空。同时数据是不可以回滚的。

DELETE FROM:一旦执行此操作,表数据可以全部清空(不带WHERE)。同时数据是可以回滚的。

10.DDL 和DML的说明

① DDL的操作一旦执行,就不可以回滚。指令

SET autocommit = FALSE对DLL操作无效 在执行完操作后一定会执行COMMIT,不受

SET autocommit = FALSE影响

② DML的操作默认情况,一旦执行,也是不可以回滚的。但是,如果在执行DML之前,执行

SET autocommit = FALSE,则执行的DML操作就可以回滚

演示 DELETE FROM

COMMIT;

SELECT * FROM MYSQL3;

SET autocommit = FALSE;

DELETE FROM MYSQL3;

SELECT * FROM MYSQL3;

ROLLBACK;

SELECT * FROM MYSQL3;