数据库表的操作-DDL

一、数据库表的简介

1.1、mysql的数据类型

  • 数字类型

    数据类型 说明
    TINTINT 0~255 或 -128~127,1字节,最小的整数
    SMALLINT 0~65535 或 -32768~32767,2字节,小型整数
    MEDIUMINT 0~16777215 或 -8388608~8388607,3字节,中型整数
    INT 0~4294967295 或 -2147683648~2147683647,4字节,标准整数
    BIGINT 8字节,大整数
    FLOAT 单精度浮点值
    DOUBLE 双精度浮点值
    BOOLEAN 布尔值
  • 字符串类型

    数据类型 说明
    CHAR 1~255 个字符,固定长度字符串
    VARCHAR 长度可变,最多不超过 255 个字符
    TEXT 最大长度为 64K 的变长文本
    TINYTEXT 与 TEXT 相同,但最大长度为 255 字节
    MEDIUMTEXT 与 TEXT 相同,但最大长度为 16K
    LONGTEXT 与 TEXT 相同,但最大长度为 4GB
  • 时间日期类型

    数据类型 说明
    DATE 日期,格式 YYYY-MM-DD
    TIME 时间,格式 HH:MM:SS
    DATETIME 日期和时间,格式 YYYY-MM-DD HH:MM:SS
    TIMESTAMP 时间标签,功能和 DATETIME 相同,但范围较小
    YEAR 年份可指定两位数字和四位数字的格式

1.2、常用的数据类型

  • INT:整型
  • DOUBLE:浮点型
  • VARCHAR:字符串型
  • DATE:日期类型

二、数据库表的创建

2.1、创建表语法

-- 创建表
CREATE TABLE 数据表名 (
  列名1 属性,
  列名2 属性…
);

2.2、列属性-约束

  • NOT NULL | NULL:该列是否允许是空值
  • DEFAULT:表示默认值
  • AUTO_INCREMENT:表示是否是自动编号
  • PRIMARY KEY:表示是否为主键
列名 数据类型 [NOT NULL | NULL] [DEFAULT 默认值] [AUTO_INCREMENT]
[PRIMARY KEY ] [注释]

2.3、创建表实例

-- 创建学生表
CREATE TABLE student01 (id INT, NAME VARCHAR(10));

2.4、复制结构相同的表

CREATE TABLE student02 LIKE student01;

三、数据库表的查询

3.1、查看表名语法

-- 查看当前数据库中所有的表名
SHOW TABLES;

3.2、查看表结构语法

-- 查看表结构
DESCRIBE 数据表名;
DESCRIBE 数据表名 列名;

-- 查看表结构简写
DESC 数据表名;
DESC 数据表名 列名;

image

四、数据库表的修改

4.1、添加新列

-- 添加新列
ALTER TABLE 表名 ADD 列名 列属性;

ALTER TABLE student01 ADD email VARCHAR(20) NOT NULL;

4.2、修改列定义

-- 修改列定义
ALTER TABLE 表名 MODIFY 列名 列属性;

ALTER TABLE student01 MODIFY score INT;

4.3、修改列名

-- 修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

ALTER TABLE student01 CHANGE COLUMN NAME stu_name VARCHAR (20) DEFAULT "姓名";

4.4、删除列

-- 删除列
ALTER TABLE 表名 DROP 列名;

ALTER TABLE student01 DROP score;

4.5、修改表名

-- 修改表名方式一
ALTER TABLE 旧表名 RENAME AS 新表名;
ALTER TABLE student01 RENAME AS stu;

-- 修改表名方式二
RENAME TABLE 旧表名 To 新表名;
RENAME TABLE stu TO student01;

五、数据库表的删除

5.1、删除表语法

  • IF EXISTS:可选项,先判断是否存在要删除的表,存在时才执行删除操作
  • 数据表名:用于指定要删除的数据表名
DROP TABLE [IF EXISTS] 数据表名;

DROP TABLE  IF EXISTS stu;