第一关 查看表结构和修改表名
任务描述
本关任务:修改表名,并能顺利查询到修改后表的结构。
相干知识
为了完成本关任务,你需要把握:
1.怎样查看表的结构;
2.怎样修改表的名称。
查看数据表基本结构
有逼迫症或健忘症的小同伴们在建好数据库和表以后,通常会猜疑自己刚才是不是敲错了,怎么办?假如不是利用图形界面是不是就没法查看啦?
不存在的,这就告诉你查看口令:
DESCRIBE 语法规则为 ESCRIBE 表名;
大小写不敏感哟!
DESCRIBE可以查看表的字段信息,包括:字段名、字段数据范例、是否为主键、是否有默认值等。
好比本岛主新建了一个名叫Products的表,结构如下:
现在来看看“现场”,用DESCRIBE查表的结构是这样的。
此中,该结构中各个字段的含义分别为:
NULL:表现该列是否能存储 NULL 值;
Key:表现该列是否已编制索引;
PRI:表现该列是此表主键的一部门;
UNI:表现该列是 UNIQUE 索引的一部门;
MUL:表现在列中某个给定值答应出现多次;
Default:表现该列是否有默认值,假如有的话值是多少;
Extra:表现可以获取的与给定列有关的附加信息。
查看数据表具体结构
什么?你发现表建错了,你想知道错在哪里了?
那就用SHOW CREATE TABLE语句吧。
==语法规则为:SHOW CREATE TABLE 表名; ==
照旧刚才谁人例子,让我们看看SHOW CREATE TABLE有什么能耐。
可以看到,利用 SHOW CREATE TABLE 语句,不但仅可以返回给我们建表时所写的具体语句,而且还可以查看存储引擎和字符编码。
再告诉大家一个小诀窍,是不是觉得返回的结果排版有点乱。我们加上\G后效果就会有所改善哟,来看看!
修改表名
随着表越来越多,有时候你会悔恨之前的数据表的名字根本没有认真斟酌过,想要重新命名一下,可以做到吗?
答案是:可以!MySQL是通过ALTER TABLE语句来修改表名的。
语法规则为:ALTER TABLE 旧表名 RENAME 新表名;
答案
- USE Company;
- #请在此处添加实现代码
- ########## Begin ##########
- ########## modify the table name ##########
- alter table tb_emp rename jd_emp;
- ########## show tables in this database ##########
- show tables ;
- ########## describe the table ##########
- describe jd_emp;
- ########## End ##########
复制代码 第二关 修改字段名和字段范例
任务描述
本关任务:修改表中的字段名,并修改字段的数据范例。
相干知识
为了完成本关任务,你需要把握:1.怎样修改字段名;2.怎样修改字段的数据范例。
修改字段名
有时,在我们建好一张表后会忽然发现,哎呀!字段名貌似写错了!怎么办?要删了表再重新建一个新表吗?照旧要删了这个字段再新建一个新的字段?
都不用,MySQL 中修改字段名称也有专门的语句,接近于自然语言,很好记忆。
语法规则为ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据范例;
小提示: 假如不需要修改字段的数据范例,可以把新字段的数据范例设置为和原来一样,但是!千万不要空着它!
修改字段数据范例
随着存储的数据越来越多,数据库新人可能会发现,哎呀,当初预留的数据范例已经不能满足要求了,或者当初预留的字符太少了,怎么办?怎么修改?规则来了。
语法规则为: ALTER TABLE 表名 MODIFY 字段名 数据范例;
编程要求
根据提示,在右侧编辑器补充代码:
把数据表tb_emp的字段Id改名为prod_id,数据范例不变;
把数据表tb_emp字段Name的数据范例改为varchar(30)
答案
- USE Company;
- #请在此处添加实现代码
- ########## Begin ##########
- ########## change the column name ##########
- alter table tb_emp change Id prod_id int;
- ########## change the data type of column ##########
- alter table tb_emp change Name Name varchar(30);
- -- alter table tb_emp modify Name varchar(30);
- ########## End ##########
- DESCRIBE tb_emp;
复制代码 第三关 添加与删除字段
任务描述
本关任务:分别在表的末了一列、第一列和指定列后添加新的字段,并删除表中的指定字段。
相干知识
为了完成本关任务,你需要把握:
1.怎样在指定位置添加新的字段,
2.怎样删除指定的字段。
添加字段
由于甲方的业务需求是不停变革的,所以在数据库操作中,添加字段可是常有的事。一个完整的字段包括:字段名、数据范例和完整性束缚。
语法规则为: ALTER TABLE 表名 ADD 新字段名 数据范例 [束缚条件] [FIRST|AFTER] 已存在字段名;
以下是在 MySQL 中常用的束缚。
NOT NULL 束缚:确保某列不能有 NULL 值。
DEFAULT 束缚:当某列没有指定值时,为该列提供默认值。
UNIQUE 束缚:确保某列中的所有值是不同的。
PRIMARY Key 束缚:唯一标识数据库表中的各行/记录。
CHECK 束缚:CHECK 束缚确保某列中的所有值满足一定条件。
在表的末了一列添加字段
只要不做[FIRST|AFTER]的位置说明,在添加字段时MySQL会默认把新字段参加到表的末了一列。
在表的第一列添加字段
假如我们想在第一列添加新的字段,只需做FIRST的位置说明。
在表的指定列后添加字段
假如我们想在某一列反面添加新的字段,只需做AFTER的位置说明,然后注明你想让它添加在哪个字段的反面即可。
删除字段
有添加的需求就会有删除的需求。删除一个字段就是将数据表中的某个字段从表中移除。
语法规则为: ALTER TABLE 表名 DROP 字段名;
编程要求
根据提示,在右侧编辑器补充代码:
在数据表tb_emp的Name字段后添加字段Country,数据格式为varchar(20);
删除数据表tb_emp中的字段Salary。
答案
- USE Company;
- #请在此处添加实现代码
- ########## Begin ##########
- ########## add the column ##########
- alter table tb_emp add Country varchar(20) after Name;
-
- ########## delete the column ##########
- alter table tb_emp drop Salary;
- ########## End ##########
- DESCRIBE tb_emp;
复制代码 第四关 修改字段的分列位置
任务描述
本关任务:修改表中某字段的顺序,分别将其排至表中的第一列与指定列之后。
相干知识
为了完成本关任务,你需要把握:怎样将某字段排至表中的指定位置。
修改字段的分列位置
在一个数据表被创建的时候,其字段的分列顺序就已被确定了。不能变了吗?怎么可能,一锤子买卖没人敢做。
我们可以通过ALTER TABLE来改变表中字段的相对位置。
语法规则为: ALTER TABLE 表名 MODIFY 字段1 数据范例 FIRST|AFTER 字段2;
此中,字段1指要修改位置的字段,FIRST与AFTER 字段2为可选参数。
编程要求
根据提示,在右侧编辑器补充代码:
将数据表tb_emp的Name字段移至第一列,数据格式不变;
将DeptId字段移至Salary字段的后边,数据格式不变。
答案
- USE Company;
- #请在此处添加实现代码
- ########## Begin ##########
- ########## modify the column to top ##########
- alter table tb_emp modify Name varchar(25) first;
- ########## modify the column to the rear of another column ##########
- alter table tb_emp modify DeptId int after Salary;
- ########## End ##########
- DESCRIBE tb_emp;
复制代码 第5关:删除表的外键束缚
任务描述
本关任务:删除表中的外键束缚。
相干知识
为了完成本关任务,你需要把握:怎样删除表的外键束缚
删除表的外键束缚
我们曾在第一章中讲过外键的作用,以及怎样创建一个表的外键。创建了外键我们就创建起了两张表的关联关系,那假如我想删除主表呢?为了确保数据库的精确性,我们必须先排除两个表之间的关联关系,那就是删除外键束缚啦!让我们先来看看删除外键束缚的语法规则。
语法规则为: ALTER TABLE 表名 DROP FOREIGN KEY 外键束缚名;
然后创建一个有外键束缚的子表Mall_products2,让它的键country_id作为外键关联到country的主键id。SQL语句如下:
CREATE TABLE Mall_products2
(
id INT(11) PRIMARY KEY,
country_name VARCHAR(20) NOT NULL,
country_id INT(11) NOT NULL,
CONSTRAINT prod_country FOREIGN KEY(country_id) REFERENCES country(id)
)
上述语句乐成实行后,在表Mall_products2上添加了名称为prod_country的外键束缚,外键名称为prod_country,依赖于表country的主键id
编程要求
我们已经为你创建了主表tb_dept和子表tb_emp,在表tb_emp上添加了名称为emp_dept的外键束缚,外键名称为DeptId,依赖于表tb_dept的主键Id
答案
- USE Company;
- #请在此处添加实现代码
- ########## Begin ##########
- ########## delete the foreign key ##########
- alter table tb_emp DROP FOREIGN KEY emp_dept;
- ########## End ##########
- SHOW CREATE TABLE tb_emp \G;
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |