在执行以下操作前,需要选择数据库,采用以下命
USE 数据库名称
比如:USE company
1.创建表
格式:
CREATE TABLE table_name(
属性名 数据类型,
属性名 数据类型,
。。。
属性名 数据类型
)
例子:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40)
);
2.查看表结构
2.1 DESCRIBE语句查看表定义
格式:
DESCRIBE table_name 或 DESC table_name
例子:
DESCRIBE t_dept;
或 DESC t_dept;
2.2 SHOW CREATE TABLE语句查看表详细定义
SHOW CREATE TABLE table_name
例子:
SHOW CREATE TABLE t_dept;
或
SHOW CREATE TABLE t_dept \G;
注:在显示表详细定义信息时,可以使用“;”、“\g”和“\G”符号来结束。为了让结果显示的更加美观,便于用户查看,最好使用“\G”符号来结束。
3.删除表
格式:
DROP TABLE table_name
例子:
DROP TABLE t_dept;
4.修改表
4.1修改表名
格式:
ALTER TABLE old_table_name RENAME new_table_name
例子:
ALTER TABLE t_dept RENAME empt;
4.2 增加字段
4.2.1在表的最后一个位置增加字段
格式:
ALTER TABLE table_name ADD 属性名 属性类型
例子:
ALTER TABLE grece ADD descri VARCHAR(20);
4.2.2在表的第一个位置增加字段
格式:
ALTER TABLE table_name ADD 属性名 属性类型 FIRST
例子:
ALTER TABLE grece ADD descri VARCHAR(20) FIRST;
4.2.3在表的指定字段之后增加字段
格式:
ALTER TABLE table_name ADD 属性名 属性类型 AFTER 属性名
例子:
ALTER TABLE t_dept ADD descri VARCHAR(20) AFTER deptno;
4.3.删除字段
格式:
ALTER TABLE table_name DROP 属性名;
例子:
ALTER TABLE t_dept DROP deptno;
4.4 修改字段
4.4.1修改字段的数据类型
格式:
ALTER TABLE table_name MODIFY 属性名 数据类型
例子:
ALTER TABLE t_dept MODIFY deptno VARCHAR(20);
4.4.2修改字段的名字
格式:
ALTER TABLE table_name CHANGE 旧属性名 新属性名 旧数据类型
例子:
ALTER TABLE t_dept CHANGE loc location VARCHAR(40);
4.4.3同时修改字段的名字和属性
格式:
ALTER TABLE table_name CHANGE 旧属性名 新属性名 新数据类型
例子:
ALTER TABLE t_dept CHANGE location loc VARCHAR(20);
4.4.4修改字段顺序
格式:
ALTER TABLE table_name MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2; 注意:其中“|”代表或
例子:
ALTER TABLE t_dept MODIFY loc VARCHAR(20) FIRST;
ALTER TABLE t_dept MODIFY deptno VARCHAR(20) AFTER dname;
4.5操作表的约束
4.5.1设置非空约束(NOT NULL, NK)
格式:
CREATE TABLE table_name(
属性名 数据类型 NOT NULL,
属性名 数据类型,
。。。
属性名 数据类型
)
例子:
CREATE TABLE t_dept(
deptno INT(20) NOT NULL,
dname VARCHAR(20),
loc VARCHAR(40)
);
4.5.2设置字段的默认值(DEFAULT)
格式:
CREATE TABLE table_name(
属性名 数据类型 DEFAULT 默认值,
属性名 数据类型,
。。。
属性名 数据类型,
)
例子:
CREATE TABLE t_dept(
deptno INT(20) NOT NULL,
dname VARCHAR(20) DEFAULT 'cjgong',
loc VARCHAR(40)
);
4.5.3设置唯一约束(UNIQUE, UK)
格式:
CREATE TABLE table_name(
属性名 数据类型 UNIQUE,
属性名 数据类型,
。。。
属性名 数据类型
)
例子:
CREATE TABLE t_dept(
deptno INT(20) NOT NULL,
dname VARCHAR(20) UNIQUE,
loc VARCHAR(40)
);
4.5.4设置主键约束(PRIMARY KEY, PK)主键约束相当于非空约束加上唯一约束
(1)单字段主键
格式:
CREATE TABLE table_name(
属性名 数据类型 PRIMARY KEY,
属性名 数据类型,
。。。
属性名 数据类型
)
例子:
CREATE TABLE t_dept(
deptno INT PRIMARY KEY,
dname VARCHAR(20) UNIQUE,
loc VARCHAR(40)
);
或者给字段deptno上的PK约束设置一个名字,可以执行SQL语句CONSTRAINT(其实是采用的是下面多字段主键的格式)
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
CONSTRAINT pk_deptno PRIMARY KEY(deptno)
);
(2)多字段主键
格式:
CREATE TABLE table_name(
属性名 数据类型,
。。。
CONSTRAINT 约束名 PRIMARY KEY(属性名,属性名......)
)
例子:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
CONSTRAINT pk_dname_deptno PRIMARY KEY(deptno, dname)
);
4.5.5设置字段值自动增加(AUTO_INCREMENT)
格式:
CREATE TABLE table_name(
属性名 数据类型 AUTO_INCREMENT,
。。。
)
例子:
CREATE TABLE t_dept(
deptno INT PRIMARY KEY
AUTO_INCREMENT ,
dname VARCHAR(20),
loc VARCHAR(40)
);
4.5.6设置外键约(FOREIGN KEY,FK)
格式:
CREATE TABLE table_name(
属性名 数据类型,
。。。
CONSTRAINT 外键约束名 FOREIGN KEY (属性名1) REFERENCES 表名 (属性名 2)
)
例子:建两个表,设置FK约束的字段必须依赖于数据库中已经存在的父表的主键,同时外键可以为NULL。
CREATE TABLE t_dept(
deptno INT PRIMARY KEY,
dname VARCHAR(20),
loc VARCHAR(40)
);
CREATE TABLE t_employee(
empno INT PRIMARY KEY,
ename VARCHAR(20),
job VARCHAR(40),
MGR INT,
Hiredate DATE,
sal DOUBLE(10,2),
deptno INT,
CONSTRAINT fk_deptno FOREIGN KEY (deptno) REFERENCES t_dept (deptno)
);