MYSQL表的创建,修改和删除

  1. 创建表的方法 以及表的完整性约束
  2. 查看表的结构
  3. 修改表
  4. 删除表

1.1 创建表的语法:

CREATE TABLE 表名(
    属性名 数据类型 [完整性约束],
    属性名 数据类型 [完整性约束],
    属性名 数据类型 [完整性约束],
    属性名 数据类型 [完整性约束]
)

完整性约束条件有:

约束条件说明
PRIMARY KEY标记该属性为该表的主键,唯一标识
FOREIGN KEY外键,与其他表的主键相联系
NOT NULL不为空
UNIQUE唯一
AUTO_INCREMENT自动增加,mysql的SQL语言特性
DEFAULT为该属性设置默认值

例如:

CREATE TABLE EXAMPLE0(
    ID INT(4) PRIMARY KEY NOT NULL UNIQUE auto_increment,
    NAME VARCHAR(20) NOT NULL ,
    SEX BOOLEAN
);

1.2 设置表的主键:

属性名 数据类型 PRIMARY KEY
PRIMARY KEY (属性名1,属性名2,属性名3......)

例如:

CREATE TABLE EXAMPLE1(
    STU_ID INT PRIMARY KEY,
    STU_NAME VARCHAR(20),
    STU_SEX BOOLEAN
);
CREATE TABLE EXAMPLE2(
    STU_ID INT,
    COURSE_ID INT,
    GRADE_ID INT,
    PRIMARY KEY(STU_ID,COURSE_ID)
);

1.3设置外键
语法:

CONSTRAINT 外键别名 FOREIGN KEY (属性名1,属性名2 ....)
    REFERENCE 表名 (属性名1,属性名2 ....)
CREATE TABLE EXAMPLE3(
    ID INT PRIMARY KEY,
    STU_ID INT,
    COURSE_ID INT,
    CONSTRAINT c_fk FOREIGN KEY (STU_ID,COURSE_ID)
    REFERENCES EXAMPLE2(STU_ID,COURSE_ID)//创建外键
);

1.4设置表的惟一性约束:
AUTO_INCREMENT 是MySQL数据库中的特殊约束条件。用于为表中的新记录自动生成唯一ID。一个表中只能有一个AUTO_INCREMENT约束,且该字段必须为主键的一部分。该约束的字段可以是任意的整形类型(TINYINT,SAMLLINT,MEDIUMAINT,INT,INTEGER,BIGINT)。默认情况下,该字段从一开始自增。插入该处的值为null或者0时从当前值自增。更多内容
语法:

属性名 数据类型 AUTO_INCREMENT
CREATE TABLE EXAMPLE4(
    ID INT(5) PRIMARY KEY AUTO_INCREMENT NOT NULL,
    STU_ID INT(10) UNIQUE,
    NAME varchar(20) NOT NULL
);

如果插入的第一条记录的id设置为8,那么下一条就会使9,一次递增。
1.5 设置默认值

属性名 数据类型 DEFAULT 默认值
CREATE TABLE EXAMPLE5(
    ID INT PRIMARY KEY auto_increment,
    STU_ID INT unique,
    NAME VARCHAR(20) NOT NULL,
    ENGLISH varchar(20) default 'ZERO',
    MATH float default 10
);

2.1查看表的基本结构语句DESCRIBE

DESCRIBE 表名
//可以缩写为 DESC 表名

例如:
这里写图片描述

2.2查看表的详细结构语句SHOW CREATE TABLE
这里写图片描述

3.0 修改表

3.1修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名;

3.2 修改字段的数据类型

ALTER TABLE 表名 MODIFY 属性名 数据类型;

例:

ALTER TABLE EXAMPLE0 MODIFY NAME VARCHAR(30);

这里写图片描述

3.3修改字段名

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

3.4 增加字段

ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束] [FIRST|AFTER属性名2];

[FIRST|AFTER 属性名2] 用来指定增加的字段的位置:

FIRSTAFTER 属性名2NULL
第一个字段在属性名2 之后最后一个字段

无法添加primary key 约束的字段。

3.4 删除字段

ALTER TABLE 表名 DROP 属性名;

3.5 修改字段的排列位置

ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2
//可同时修改属性的数据类型。

这里写图片描述
3.6 更换表的储存引擎

alter table 表名 engine=引擎名;

3.7 删除外键约束

ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;

这里写图片描述
4.0 删除表
4.1 删除没有被关联的表

DROP TABLE 表名;

4.2 删除被其他表关联的表
一种方法是先删除关联,再删除该表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值