mysql监控DDL,MySQL_DDL_数据库和表的操作

#一、创建表

语法:

CREATE TABLE [IF NOT EXISTS] 表名(

字段名 字段类型 [字段约束],

字段名 字段类型 [字段约束],

字段名 字段类型 [字段约束]

);

-- 案例:没有添加约束

CREATE TABLE IF NOT EXISTS table1(

table_id INT,

table_name VARCHAR(20),

birthday DATETIME

gender CHAR,

age INT,

);

-- 案例:添加约束

CREATE TABLE IF NOT EXISTS table1(

table_id INT PRIMARY KEY,-- 添加了主键约束

table_name VARCHAR(20) UNIQUE,-- 添加了唯一约束

birthday DATETIME

gender CHAR DEFAULT '男',-- 添加了默认约束

age INT CHECK(age BETWEEN 0 AND 100),-- 添加了检查约束,MySQL不支持,顾不会生效

majorid INT,

CONSTRAINT 自定义名字 FOREIGN KEY (majorid) REFERENCES 主表名(主表的主键);-- 添加了外键约束

);

#一)数据类型:

1、整型

TINYINT SMALLINT INT BIGINT

2、浮点型

FLOAT(m,n)

DOUBLE(m,n)

DECIMAL(m,n)

m和n可选

3、字符型

CHAR(n):n可选

VARCHAR(n):n必选

TEXT

n表示最多字符个数

4、日期型

DATE TIME DATETIME TIMESTAMP

5、二进制型

BLOB 存储图片数据

#二)常见约束

说明:用于限制表中字段的数据,从而进一步保证数据表的数据是一致、精确和可靠的

NOT NULL 非空:用于限制该字段为必填项

DEFAULT 默认:用于限制该字段没有显式插入值时,直接显示的默认值

PRIMARY KEY 主键:用于限制该字段的值不能重复,设置为主键列的字段默认不能为空,一个表只能设置一个主键(可以是多个列的组合主键)

UNIQUE 唯一:用于限制该字段值不能重复

对比字段是否可以为空一个表可以有几个

PRIMARY KEY 否1个

UNIQUE 是n个

CHECK 检查:用于限制该字段值必须满足指定条件

CHECK(age BETWEEN 1 AND 10)

FOREIGN KEY 外键:用于限制两个表的关系,要求外键列的值必须来自于主表的关联列(外键位于从表)

要求:

①主表的关联列和从表的关联列的类型必须一致、意思一样;名称可以不同

②主表的关联列必须是主键

#

语法:ALTER TABLE 表名 ADD|MODIFY|CHANGE|DROP COLUMN 字段名 字段类型 【字段约束】;

#1.修改表名

ALTER TABLE stuinfo RENAME TO 表名;

#2.添加字段

ALTER TABLE 表名 ADD COLUMN 新字段 TIMESTAMP NOT NULL;

DESC students;

#3.修改字段名

ALTER TABLE 表名 CHANGE COLUMN 原字段名 新字段名 DATETIME NULL;

#4.修改字段类型

ALTER TABLE 表名 MODIFY COLUMN 字段名 TIMESTAMP ;

#5.删除字段

ALTER TABLE 表名 DROP COLUMN 字段名;

DESC 表名;-- 查看表

#三、删除表 √

DROP TABLE IF EXISTS 表名;

#四、复制表√

-- 仅仅复制表的结构

CREATE TABLE 新表名 LIKE 目标表名;

-- 复制表的结构+数据

CREATE TABLE 新表名 SELECT * FROM 目标表名.字符段;

-- -- 案例:复制employees表中的last_name,department_id,salary字段到新表 emp表,但不复制数据

CREATE TABLE emp

SELECT last_name,department_id,salary

FROM myemployees.`employees`

WHERE 1=2; -- 让判断结果不成立

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值