MySQL数据库补充
程序员文章站
2022-03-03 19:50:43
...
查看表结构
DESC 表名;
表处理
# 修改字段名以及数据类型和约束
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 约束;
# 修改字段的数据类型和约束
ALTER TABLE 表名 MODIFY 字段名 数据类型 约束;
# 增加字段
ALTER TABLE 表名 ADD 字段名 数据类型 约束;
# 删除字段
ALTER TABLE 表名 DROP 字段名;
ALTER TABLE 表名 DROP COLUMN 字段名;
# 修改表名
ALTER TABLE 原表名 RENAME TO 新表名;
# 复制表结构
DESC 表名; #查看表结构
CREATE TABLE 新表名 LIKE 原表名;
# 复制表结构和内容
CREATE TABLE 新表名 SELECT * FROM 原表名;
# 找出单价小于10块钱的书籍,并且插入信标
CREATE TABLE 新表名 SELECT * FROM 原表名 WHERE 条件语句(单价<10);
# 复制表指定字段,但是不带数据
CREATE TABLE 新表名 SELECT 字段名1,字段名2,字段名3 FROM 原表名 WHERE 不成立的条件语句 (如 0=1)
字段约束与表记约束
表结构
数据库由多张表组成
create table 表名(
字段名1 数据类型 字段约束,
字段名2 数据类型 字段约束
);
分类
————字段约束
————表级约束
# 创建表————字段约束
CREATE TABLE userinfo(
id INT PRIMARY KEY, # 设置主键
username VARCHAR(20) NOT NULL,
gender VARCHAR(3) CHECK(gender='男'organder='女'), # mysql中CHECK不生效
phone CHAR(11) UNIQUE, # 设置唯一
age INT DEFAULT 18,
address INT REFERENCES address(id) # 外键
);
CREATE TABLE address(
id INT PRIMARY KEY,
pname VARCHAR(50) NOT NULL
);
# 创建表————表级约束
CREATE TABLE newuserinfo(
id INT, # 设置主键
username VARCHAR(20),
gender VARCHAR(3),
phone CHAR(11), # 设置唯一
age INT,
address INT # 外键
CONSTRAINT pkey PRIMARY KEY(id),
CONSTRAINT uqkey UNIQUE(phton),
CONSTRAINT ck CHECK(gender='男' OR gender='女'),# mysql中CHECK不生效
CONSTRAINT fk FOREIGN KEY(address) REFERENCES address(id)
);
# 通用格式
CREATE TABLE userinfo(
id INT PRIMARY KEY, # 设置主键
username VARCHAR(20) NOT NULL,
gender VARCHAR(3),
phone CHAR(11) UNIQUE, # 设置唯一
age INT DEFAULT 18,
address INT,
# 外键写在表级约束里面
CONSTRAINT fk FOREIGN KEY(address) REFERENCES address(id)# 外键
);
查看建表语句
SHOW CREATE TABLE 表名;
查看约束
SHOW INDEX FROM 表名;
上一篇: 数据库补充
下一篇: Python-mysql数据库基础补充