MySQL基础练习——创建数据库、数据表,并进行修改

前言:觉得做一道题不够过瘾,再来一个。不熟悉的小伙伴可以跟着本文一起进行操作。

题目:

创建数据库 Market ,在 Market 中创建数据表 customers,并按要求进行操作。

请注意:主键、自增、非空约束的位置!!!

customers 表结构如下:

详细信息如下:

创建库和表:

创建库:

如果溜号创建错了数据库,可以删除,具体语句如下:

创建表:

将 c_contact 字段插入到 c_birth 字段后面:

效果如下:

提示语句如下:

ALTER TABLE <> MODIFY <> <> AFTER <>;

答案:

将 c_name 字段数据类型改为VARCHAR(70):

效果如下:

提示语句如下:

ALTER TABLE <> MODIFY <> <>;

答案:

将 c_contact 字段改名为 c_phone:

效果如下:

提示语句:

ALTER TABLE <> CHANGE <> <> <>;

答案:

将表名修改为 customers_info:

修改后效果:

提示语句:

ALTER TABLE <> RENAME <>;

答案:

删除字段 c_city:

效果如下:

提示语句:

ALTER TABLE <> DROP <>;

答案:

修改数据表的储存引擎为MyISAM:

效果如下:

提示语句:

ALTER TABLE <> ENGINE <>;

答案:

此时增加一个问题,在Market 库内建立如下数据表 orders,并将orders中的 c_id 作为外键约束,链接到 customers_info 的 c_num 字段上。尝试操作。

字段名 数据类型 主键 外键 非空 唯一 自增 o_num INT(11) YES NO YES YES YES o_date DATE NO NO NO NO NO c_id VARCHAR(50) NO YES NO NO NO

试试看能不能创建出来?

创建结果:

出现该情况,因为cunstomers_info 的引擎是 MyISAM,我的默认引擎是 InnoDB,出错。

更改 customers_info 的引擎后,尝试:

c_num 的数据类型是 INT(11) ,而 c_id 的是 VARCHAR(50),不一样,不能链接。

需要注意几个问题:

1. 不同引擎之间的数据表,是无法建立外键约束的。

2. 不要随意更改字段的数据类型。

3. 外键约束的前提是,数据表引擎相同,数据类型相同。

4. 终端操作时,可以通过”上下键“来快速选择曾经输入过的内容,免去复制粘贴的麻烦。

5. 请用批判性思维阅读教材,如果发现问题,请刨根问底寻找正确答案,不要稀里糊涂蒙混过关。

经验分享 程序员 微信小程序 职场和发展