MySQL——数据表的基本操作

创建数据表的基本形式

CREATE TABLE <表名>
(
字段名1,数据类型[列级别约束条件][默认值],
字段名1,数据类型[列级别约束条件][默认值],
......
[表级别约束条件]
);

创建员工表tb_employee1

CREATE DATAVASE aa;
USE aa;
CREATE TABLE tb_employee1
(
    id INT(11),
    name VACHAR(25),
    depid INT(11),
    salary FLOAT
);

查看是否创建成功

SHOW TABLES;

主键约束

单字段主键

字段名  数据类型  PRIMARY KETY[默认值]

定义数据库表 tb_employee2

CREATE TABLE tb_employee2
(
    id INT(11)PRIMARY KEY,
    name VACHAR(25),
    depid INT(11),
    salary FLOAT
);

或者

[CONSTRAINT<约束名>]PRIMARY KEY[字段名]
CREATE TABLE tb_employee2
(
    id INT(11),
    name VACHAR(25),
    depid INT(11),
    salary FLOATPRIMARY KEY(id)
);

多字段联合主键

PRIMARY KEY[字段1,字段2,...字段n]

外键约束

外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或者多个外键。外键对应的是参照完整性,一个表的外键可以是空值,若不为空值,则每一个外键必须等于另一个表的主键的某个值

[CONSTRAINT<外键名>]FOREIGN KEY 字段名1 [,字段名2, ...]
REFRENCE <主表名>主键列1[,主键列2, ...]

定义一个数据表tb_employee5 并且在该表中创建外键约束
创建俺一个部门表tb_dept1

CREATE TABLE tb_dept1
(
    id INT(11)PRIMARY KEY,
    name VARCHAR(22) NOT NULL,
    location VARCHAR(50)
);

定义数据表tb_employee5 让它的depid字段作为外键关联到tb_dept1的主键id

CREATE TABLE tb_employee5
(
    id INT(11)PRIMARY KEY,
    name VARCHAR(25),
    deptld INT(11),
    salary FLOAT,
    CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptld) REFERENCES tb_dept1(id)
);

非空约束

NOT NULL

唯一性约束

UNIQUE

默认约束

DEFAULT

设置数据表的属性值自动增加

CREATER TABLE tb_employee8
(
    id INT(11)PRIMARY KEY AUTO_INCREAMENT,
    name VARCHAR(25)NOT NULL
);

查看表的结构

查看表的基本结构

DESCRIBE/DESC 表名;

查看表的详细结构

SHOW CREATE TABLE <表名\G>;

修改数据表

修改数据表名

ALTER TABLE<旧表名>RENAME<新表名>;

使用SHOW TABLES查看数据库中的表

修改字段数据类型

ALTER TABLE <表名>MODIFY<字段名><数据类型>;

修改字段名

ALTER TABLE<表名>CHANGE<旧字段名><新字段名><新数据类型>;

添加字段

ALTER TABLE<表名>ADD<新字段名><数据类型>
[约束条件]FIRSTIAFTER已经存在的字段名[];

添加完整性无条件约束的字段

ALTER TABLE  tb_dept1 ADD mananger INT(10);
添加有完整性约束条件的字段
ALTER TABLE tb_dept1 ADD column1 VACHAR(12)not null;

在表的第一列添加字段

ALTER TABLE tb_dept1 ADD column2 VACHAR(12) INT(11)FIRST;

在表的最后添加字段

ALTER TABLE tb_dept1 ADD column3 VACHAR(12) INT(11)AFTER name;

删除字段

ALTER TABLE<表名>DROP<字段名>;

修改字段排序

ALTER TABLE <表名>MODIFY<字段1><数据类型><FIRST AFTER<字段2>;

column1移动到第一列

ALTER TABLE tb_dept1 MODIFY column1 INT(12) FIRST;

column2插入到location字段后面

ALTER TABLE tb_dept1 MODIFY column2 INT(12) AFTER location;

更改表的储存引擎

ALTER TABLE<表名>ENGINE=<更改后的存储引擎名>;

删除表的外键约束

ALTER TABLE<表名>DROP FOREIGN KEY<表的外键约束名>;

删除数据表

删除没有被关联的表

DROP TABLE[IF EXISTS] 表1,表2,...表n;

删除被其他表关联的主表

先删除表的外键约束再删除主表

ALTER TABLE<表名>DROP FOREIGN KEY<表的外键约束名>;
DROP TABLE[IF EXISTS] 表1,表2,...表n;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章