目录
②查看表基本结构:DESCRIBE 表名; 或 简写为 desc 表名;
第一关:修改表名
一、知识点
①查看所有表:show tables;
②查看表基本结构:DESCRIBE 表名;
或 简写为 desc 表名;
③查看创建表的语句:SHOW CREATE TABLE
使用 SHOW CREATE TABLE 语句,不仅仅可以返回给我们建表时所写的详细语句,而且还可以查看存储引擎和字符编码。 如果觉得返回的结果排版有点乱,加上\G
后效果就会有所改善!
④修改表名:ALTER TABLE
。 语法规则为:ALTER TABLE 旧表名 RENAME 新表名;
二、educoder
根据提示,在右侧编辑器补充代码:
-
把数据表
stu
改名为student
; -
查看该数据库下数据表的列表;
-
查看数据表
student
的基本结构。
第二关: 修改表结构-1
一、知识点
①修改属性名
语法规则为: ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型 ;
小提示: 如果不需要修改属性的数据类型,可以把新字段的数据类型设置为和原来一样,但是!千万不要空着它!
②修改属性数据类型
语法规则为: ALTER TABLE 表名 MODIFY 字段名 数据类型;
二、educoder
编程要求
根据提示,在右侧编辑器补充代码:
-
把数据表
student
的属性Id
改名为stuid
,数据类型不变; -
把数据表
student
字段Name
的数据类型改为varchar(30)
。
第三关:修改表结构-2
一、知识点
①添加属性
语法规则:
ALTER TABLE 表名 ADD 新属性名 数据类型 [约束条件] [FIRST|AFTER] 已存在属性名;
。
MySQL
中常用的约束:
NOT NULL
约束:确保某列不能有NULL
值。
DEFAULT
约束:当某列没有指定值时,为该列提供默认值。
UNIQUE
约束:确保某列中的所有值是不同的。
PRIMARY Key
约束:唯一标识数据库表中的各行/记录。
CHECK
约束:CHECK
约束确保某列中的所有值满足一定条件。
不做[FIRST|AFTER]
的位置说明,在添加属性时MySQL
会默认把新属性加入到表的最后一列。
如果我们想在第一列添加新的属性,只需做FIRST
的位置说明。 如果我们想在某一列后面添加新的属性,只需做AFTER
的位置说明,然后注明你想让它添加在哪个属性的后面即可。
②删除字段
语法规则为:
ALTER TABLE 表名 DROP 字段名;
二、educoder
编程要求
根据提示,在右侧编辑器补充代码:
-
在数据表
student
的Name
属性后添加属性sex
,数据类型为varchar(2)
,默认值男
; -
删除数据表
student
中的属性Salary
。
第四关:修改表结构-3
一、知识点
①修改属性的排列位置
在一个数据表被创建的时候,其属性的排列顺序就被确定了,之后可以通过ALTER TABLE
来改变表中属性的相对位置。
语法规则为:
ALTER TABLE 表名 MODIFY 属性1 数据类型 FIRST | AFTER 属性2;
其中,
属性1
指要修改位置的字段,
FIRST
与 AFTER 属性2
为可选参数。
FIRST表示把属性的位置调整到第一列 ,
用AFTER 属性2 选项,可将想调整的属性放在除了第一列的任何位置。
二、educoder
编程要求
根据提示,在右侧编辑器补充代码:
-
将数据表
student
的Name
字段移至第一列,数据格式不变; -
将
DeptId
字段移至Salary
字段的后边,数据格式不变。
第五关:数据添加
一、知识点
①插入数据
向表中插入数据最简单的方法就是使用INSERT
语句。
语法规则为:
INSERT INTO 表名 (属性名) VALUES (内容);
在插入数据时指定属性名好处是:即使我们打乱了原本属性的排列顺序,只要插入的数据与之匹配,插入都不会出错。若不填属性名,就必须按属性顺序(且必须是所有属性按顺序)来填入相应的数据。
②为表同时插入多条记录
语法规则为:
INSERT INTO 表名 (属性名) VALUES (内容1), (内容2), (内容3);
③从逗号分隔的文件中读取所有数据插入表
语法规则为:
LOAD DATA LOCAL INFILE '文件名' INTO TABLE 表名 character set gbk fields terminated by ',' ;
二、educoder
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码:
1.
- 我们为你新建了一个空数据表
product
,请你为它同时添加3
条数据内容; - product(maker,model,type)属性均为字符型
添加的内容为: X 5001 pc
X 6009 laptop
Y 7809 printer
2.请从文件中将数据都读入到product表 文件名src1/step1/product.csv
第6关:数据更新
一、知识点
①更新表中指定的内容
语法规则为:
UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件;
二、educoder
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码:
已创建建了一个数据表product
,并添加了一些数据;
product(maker,model,type)
使用select * from product;查看已有数据,
将第一行maker为中文的数据删除,(delete from 婊名 WHERE 主键 = ‘具体值')
将maker(A)改名为 JD;
将type(pc) 改为 computer
第7关:数据删除
一、知识点
①删除表中的指定元组。
语法规则为:
DELETE FROM 表名 WHERE 条件语句;
②删除表中的所有行
语法规则为:
DELETE FROM 表名;
小提示: TRUNCATE TABLE 语句也可以用来删除表中的所有记录。但是与 DELETE 不同的是,TRUNCATE TABLE 语句直接删除的是表,而不是表中的内容,删除结束后还会重新创建一个表。所以它的执行速度会比 DELETE 语句快。 语法为:TRUNCATE TABLE 表名;
二、educoder
根据提示,在右侧编辑器Begin-End
处补充代码:
-
已经创建了表
product
,printer
并添加了数据内容; -
product(maker,model,type) 代表厂商,型号,类型(pc,laptop,printer)
-
printer(model,color,type,price) 代表型号,是否彩色,类型(laser,ink-jet),单价
-
请将单价大于
800
的printer删除 -
请将型号不在printer中的型号对应的元组从product表删除。