MySQL零散拾遗(九)--- 创建和管理表

SQL分类:

DDLData Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。 CREATE \ ALTER \ DROP \ TRUNCATE

DMLData Manipulation Language)语句: 数据操纵语言,主要是对数据进行增加、删除、修改、查询操作。 INSERT \ DELETE \ UPDATE \ SELECT

DCLData Control Language)语句: 数据控制语言,主要是用来设置/更改数据库用户权限,数据回滚。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE

数据库操作

创建数据库

CREATE DATABASE IF NOT EXISTS 数据库名;

查看创建数据库的结构

SHOW CREATE DATABASE 数据库名

使用数据库

  • 查看当前所有数据库

    SHOW DATABASES;

  • 查看当前正在使用的数据库

    SELECT DATABASE();

  • 使用切换数据库

    USE 数据库名;

删除数据库

DROP DATABASE 数据库名

表操作

创建表

方式一:
CREATE TABLE IF NOT EXISTS 表名(字段名,数据类型 [约束条件] [默认值]...[约束条件]);

方式二:

  • 使用 AS subquery 选项,将创建表和插入数据结合起来

    CREATE TABLE table[(column,column...)] AS subquery

  • 指定的列和子查询中的列要一一对应

  • 通过列名和默认值定义列

    CREATE TABLE emp1 AS SELECT * FROM employees;

重命名表

RENAME TABLE 旧表名 TO 新表名

查看表的结构

DESC 表名

添加一个列

ALTER TABLE 表名 ADD [COLUMN] 字段名 字段类型 [FIRST | AFTER 字段名]

删除一个列

ALTER TABLE 表名 DROP [COLUMN] 字段名

修改一个列

ALTER TABLE 表名 MODIFY [COLUMN] 字段名 字段类型 [DEFAULT 默认值] [FIRST|AFTER 字段名]

重命名一个列

ALTER TABLE 表名 CHANGE [COLUMN] 列名 新列名 新数据类型;

删除表

DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, …, 数据表n]

DCLCOMMITROLLBACK

  • COMMIT:提交数据。一旦执行COMMIT,则数据就被永久的保存在了数据库中,意味着数据不可以回滚。
  • ROLLBACK:回滚数据。一旦执行ROLLBACK,则可以实现数据的回滚。回滚到最近的一次COMMIT之后。

对比 TRUNCATE TABLEDELETE FROM

  • 相同点:都可以实现对表中所有数据的删除,同时保留表结构。
  • 不同点:
    • TRUNCATE TABLE:一旦执行此操作,表数据全部清除。同时,数据是不可以回滚的。
    • DELETE FROM:一旦执行此操作,表数据可以全部清除(不带WHERE)。同时,数据是可以实现回滚的。

DDLDML 的说明

DDL的操作一旦执行,就不可回滚。指令SET autocommit = FALSEDDL操作失效。(因为在执行完DDL操作之后,一定会执行一次COMMIT。而此COMMIT操作不受SET autocommit = FALSE影响的。)

DML的操作默认情况,一旦执行,也是不可回滚的。但是,如果在执行DML之前,执行了 SET autocommit = FALSE,则执行的DML操作就可以实现回滚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值