mysql—创建表、删除和修改字段

本文介绍了如何在MySQL中创建、修改和删除表字段。首先展示了创建员工表emp的步骤,包括定义各字段的数据类型。接着演示了如何向emp表中添加image字段,修改job字段长度,删除sex字段,并将表名改为employee。最后,调整了表的字符集并更改了name字段为user_name。

本次博客带领大家学习mysql中是如何创建表、删除和修改字段的。

创建表

请添加图片描述

创建表的练习:

  • 创建一个员工表emp,选用适当的数据类型。
字段属性
id整形
name字符型
sex字符型
birthday日期型(date)
entry_date日期型(date)
job字符型
salary小数型
resume文本型
CREATE TABLE emp( id INT, `name` VARCHAR(32), sex CHAR(1), brithday DATE, entry_date DATETIME, job VARCHAR(32), salary DOUBLE, `resume` TEXT) CHARSET utf8 COLLATE utf8_bin ENGINE INNODB;

INSERT INTO emp VALUES(100,'小妖怪','男' ,'2000-11-11','2010-11-11 11:11:11','巡山','3000','大王叫我来巡山');

SELECT * FROM emp;

删除和修改字段

请添加图片描述

修改表的练习:

#员工表emp的上添加一个image列,varchar类型(哟求在resume后面)
ALTER TABLE emp 
	ADD image VARCHAR(32) NOT NULL DEFAULT ''
		AFTER RESUME;	
DESC employee;

#修改job列,使其长度为60
ALTER TABLE emp 
	MODIFY job VARCHAR(60) NOT NULL DEFAULT '';
#删除sex列。
ALTER TABLE emp DROP sex;
#表名改为employee
RENAME TABLE emp TO employee;
#修改表的字符集为utf-8
ALTER TABLE employee CHARACTER SET utf8;
#列名name修改为user_name
ALTER TABLE employee CHANGE `name` user_name VARCHAR(32) NOT NULL DEFAULT '';
MySQL 中,创建及设置字段约束有多种情况,以下为你详细介绍: ### 创建的基本语法 创建时需要定义名、字段名、字段类型、约束条件等,基本语法如下: ```sql CREATE TABLE 名 ( 列名 列属性 [null || not null], -- 可添加更多列定义 ); ``` 示例: ```sql create table test1( col1 int null, col2 int not null ); ``` 此示例创建了名为 `test1` 的,其中 `col1` 字段允许为 `NULL`,`col2` 字段不允许为 `NULL` [^1][^3]。 ### 创建时设置外键约束 创建数据并设置外键约束,让一个的某个键作为外键关联到另一个的主键。例如创建数据 `tb_emp6`,让它的键 `deptId` 作为外键关联到 `tb_dept1` 的主键 `id`,SQL 语句如下: ```sql CREATE TABLE tb_emp6 ( -- 的其他列定义 deptId int, -- 外键约束定义 CONSTRAINT fk_deptId FOREIGN KEY (deptId) REFERENCES tb_dept1(id) ); ``` 此例中,使用 `CONSTRAINT` 关键字为外键约束命名为 `fk_deptId`,并指定 `deptId` 字段关联到 `tb_dept1` 的 `id` 字段 [^2]。 ### 修改添加外键约束 如果已经创建,可使用 `ALTER TABLE` 语句添加外键约束,语法如下: ```sql alter table 名 add [constraint] foreign key (列名) references 2(列名); ``` 删除外键约束时,可先通过 `show create table 名` 查询出外键名字,然后使用以下语句删除外键: ```sql alter table 名 drop foreign key 外键名字; ``` 删除外键后,会留下自动创建的索引,可使用以下语句删除索引: ```sql alter table 名 drop index 索引名字; ``` 例如,假设 `tb_emp6` 已经存在,要添加外键约束: ```sql alter table tb_emp6 add constraint fk_deptId foreign key (deptId) references tb_dept1(id); ``` 若要删除该外键约束,先查询外键名字,假设为 `fk_deptId`,则执行: ```sql alter table tb_emp6 drop foreign key fk_deptId; ``` 再删除索引,假设索引名为 `deptId`,则执行: ```sql alter table tb_emp6 drop index deptId; ``` [^4]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值