zb_对表操作
作者:互联网
目录
查看表
# 进入数据库
USE myBD
# 查看所有表
SHOW TABLES;
+----------------+
| Tables_in_mybd |
+----------------+
| dept |
| emp |
+----------------+
# 查看库中表的信息
SHOW TABLE STATUS;
# 查看dept表创建信息,查看外键名
SHOW CREATE TABLE dept;
+-------+------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------+
| dept | CREATE TABLE `dept` (
`deptno` char(2) NOT NULL,
`dname` varchar(14) DEFAULT NULL,
`loc` varchar(13) DEFAULT NULL,
PRIMARY KEY (`deptno`),
UNIQUE KEY `dname` (`dname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+------------------------------------------+
# 查看dept的结构
DESC emp;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| empno | char(4) | NO | PRI | NULL | |
| ename | varchar(10) | YES | | NULL | |
| job | varchar(9) | YES | | NULL | |
| mgr | char(4) | YES | | NULL | |
| hiredate | date | YES | | NULL | |
| sal | decimal(7,2) | YES | | NULL | |
| comm | decimal(7,2) | YES | | NULL | |
| deptno | char(2) | YES | MUL | NULL | |
+----------+--------------+------+-----+---------+-------+
# 启动innodb引擎
# create table user()ENGINES=INNODB DEFAULT CHARSET=utf8mb4;
/*------------------------删除表-------------------------*/
DROP TABLE table_name ;
创建表
CREATE TABLE emp (
empno CHAR(4) AUTO_INCREMENT PRIMARY KEY,/*[字段级约束]*/
ename VARCHAR(10),
job VARCHAR(9),
mgr CHAR(4) DEFAULT '未知' ,
hiredate DATE,
sal DECIMAL(7,2),
comm DECIMAL(7,2),
deptno CHAR(2),
PRIMARY KEY(empno,ename),
FOREIGN KEY(deptno) REFERENCES dept(deptno)/*[表级约束] 与dept表关联*//*最后一个后面不能有逗号*/
);
CONSTRAINT fr_stuno FOREIGN KEY(deptno) REFERENCES dept(deptno)# CONSTRAINT 约束名称,一般系统自动,你可以自己改
DEFAULT# 默认值
AUTO_INCREMENT # 自增
decimal(7,2) # 精准数据类型 7表示有效数字位数,2是小数位数
修改表
# ------修改表名------
ALTER TABLE 旧表名 RENAME TO 新表名;
# ------对列操作------
# ---添加 ADD---
ALTER TABLE dept ADD COLUMN dtelephone CHAR(11);/*增加一列dtelephone CHAR(11)*/
ALTER TABLE emp ADD PRIMARY KEY(empno);/*添加主键*/
ALTER TABLE emp ADD FOREIGN KEY(deptno) REFERENCES dept(deptno);/*添加外键*/
# ---删除 DROP---
ALTER TABLE emp DROP COLUMN hiredate;/*删除emp表的hiredate列*/
ALTER TABLE emp DROP PRIMARY KEY;/*删除表主键*/
# ---修改 MODIFY与CHANGE---
# --MODIFY修改属性--
/*ALTER TABLE 表名 MODIFY 字段名 数据类型 约束*/
ALTER TABLE employee MODIFY comm DECIMAL(8,1);/*emp表comm列的数据类型修改为DECIMAL (8,1)*/
ALTER TABLE stuinfo MODIFY stuaddress VARCHAR(60) DEFAULT `地址不详` ;/*给stuinfo表的stuaddress列设默认值:地址不详*/
# -移动- FIRST|AFTER 把emp表中的comm列移动sal列之后
ALTER TABLE employee MODIFY comm DECIMAL (7,2) AFTER sal;
# --CHANGE修改属性--
ALTER TABLE 表名 CHANGE 原列名 新列名 新数据类型;
# change用来字段重命名,不能修改字段类型和约束;
# modify不用来字段重命名,只能修改字段类型和约束;
删除表
DROP TABLE 表名;
六种约束
/*MySQL的六种约束*/
PRIMARY KEY/*主键约束,若主键由多个属性组成要定义成表级*/
FOREIGN KEY/*外键约束,定义成表级*/
UNIQUE/*唯一约束:允许NULL值;非主键(多)字段值唯一;可定义多个*/
NOT NULL/*非空约束,只能字段级*/
DEFAULT/*默认约束,只能字段级*/
CHECK(stuscore between 0 and 100)/*范围between..and..,..and..,..or..*/
标签:对表,zb,dept,emp,KEY,操作,TABLE,NULL,ALTER 来源: https://www.cnblogs.com/naitiam/p/16315872.html