4、表的操作:增删改、约束 ---第2篇

来源:互联网 发布:知君用心综琼瑶阅读 编辑:程序博客网 时间:2024/05/22 06:27

对应第5章

表的命名最好:t_xxx 或 tab_xxx

最好操作都用语句实现,因为后期可以用代码容易再次执行。

基本操作

创建表:
法一:右键新建表
法二:create命令创建
删除表:
法一:右键
法二:先定位到当前数据库,之后 DROP TABLE t_dept;

修改表:
重命名:ALTER TABLE old_name RENAME new_name;
增加一列(字段):ALTER TABLE table_name ADD 新列名 新列类型;
删除一列:ALTER TABLE table_name DROP 列名;
增加一列并将该列放在第一列的位置:ALTER TABLE table_name ADD 新列名 新列类型 FIRST;
在指定某列后加一列:ALTER TABLE table_name ADD 新列名 新列类型 AFTER 某列名;

修改一列:
改列的数据类型:ALTER TABLE table_name MODIFY 列名 新的数据类型;
改列名:ALTER TABLE table_name CHANGE 旧列名 新列名 旧数据类型;
改列名和属性:ALTER TABLE table_name CHANGE 旧列名 新列名 新数据类型;

修改列的顺序:
将列调到第一列:ALTER TABLE table_name MODIFY 列名 列数据类型 FIRST;
将列调到某列之后:ALTER TABLE table_name MODIFY 列名 列数据类型 AFTER 某列名;

最方便的改法:
用SQLyog,右键“改变表”,可以轻松地增删、移动次序
这里写图片描述

行的增删改:

增加:INSERT INTO 表名 VALUES(一系列属性值);删除:DELETE FROM 表名    WHERE 某属性名='某值';修改:UPDATE 表名    set 某属性为新值        WHERE 某属性名='某值';

操作表的约束

约束就是非空、主键等的约束。

看你是否要给约束起名字,如果起就用起名的那种写法,不起名字就直接在属性后加上约束即可。
可以直接在属性后面写上约束即可。例如

CREATE TABLE t_li(    deptno INT(20) NOT NULL UNIQUE,    dname VARCHAR(20) DEFAULT 'tonghua',    loc VARCHAR(40) );

也可以起名字,约束起名字最好“约束缩写_字段名”的方式。

给属性加上UNIQUE约束,并起名字CREATE TABLE t_li(    deptno INT(20) NOT NULL,    dname VARCHAR(20),    CONSTRAINT uk_dname UNIQUE(dname)   -- CONSTRAINT 约束名 约束动作);

设置字段值自动增加:
例 属性

deptno INT PRIMARY KEY  AUTO_INCREMENT,   --设为主键并自动增加,自动增加可以利用生成唯一的ID

给主键起名的写法:

CREATE TABLE t_dept(    deptno INT,    dname VARCHAR(20),    loc VARCHAR(40),    CONSTRAINT pk_dname_deptno PRIMARY KEY(deptno,dname)  );

外键约束:

CREATE TABLE t_employee(    empno INT PRIMARY KEY,    ename VARCHAR(20),    deptno INT,    CONSTRAINT fk_deptno FOREIGN KEY(deptno) REFERENCES t_dept(deptno));-- 利用t_dept与t_employee表都有的属性deptno建立外键
0 0