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

对应第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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值