创建和删除数据库
Joe 在开发机上创建了一个名为 goods 的数据库,做了一些练习,现在他需要删除这个数据库,重建一个 goods。那么他需要的步骤是:
答案是:A
创建数据库的语法格式如下:
CREATE DATABASE database_name
CREATE DATABASE IF NOT EXISTS database_name
BD是make,语法错误;
题目已经告知存在goods数据库,所以不需要再做exists判断了。
创建表
Joe 想要在 goods 数据库创建一个 goods_category 表,管理商品的类别,那么正确的建表语句应该是:
答案是:A
MySQL中创建数据表需要遵循一定的语法格式,这些语法格式为创建数据表提供了模板依据。同时,遵循一定的语法格式创建数据表,也降低了出错的概率。
在MySQL中创建表使用的是CREATE TABLE语句,语法格式如下:
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型 [约束条件] [默认值],
字段2 数据类型 [约束条件] [默认值],
字段3 数据类型 [约束条件] [默认值],
……
[表约束条件]
);
自增字段
Joe 需要重建一个 id 为自增字段的 goods_category 。他已经删除了旧表,那么接下来应该:
答案是:D
MySQL支持将整数类型的主键设置为默认递增类型,这样在向数据表插入数据时,可以不用指定整数类型主键的值,MySQL会将该表的整数类型的主键值自动加1。
MySQL中设置整数类型的主键值默认递增的语法格式如下:
字段名称 数据类型 PRIMARY KEY AUTO_INCREMENT
删除表
Joe 想要删除数据库中的 good_category 表,他应该怎么操作?
答案是:D
在MySQL中,当一张数据表没有与其他任何数据表形成关联关系时,可以将当前数据表直接删除。
删除没有关联关系的数据表的语法格式如下:
DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, …, 数据表n]
选项A是删除表中name字段值为good_category的行
数据库编码
Joe 希望 goods 数据库可以处理各种不同语言文字的内容,因此他要确定 goods 数据库的编码,确保其为 ut8,下面哪些步骤是他需要做的?
(这里我们假设Joe第一次查看编码时,发现 goods 现在的编码为 latin1 )。
1.执行 SHOW CREATE DATABASE goods; 查看 goods 的编码
2.备份数据库
3.取消默认编码 ALTER DATABASE goods CHARACTER UNSET;
4.执行 ALTER DATABASE goods CHARACTER SET utf8; 设定编码
5.删除 goods 数据库 DROP DATABASE goods
6.用 utf8 编码重建 goods 数据库 CREATE DATABASE goods DEFAULT CHARACTER SET utf8
7.删除默认编码 ALTER DATABASE goods DROP CHARACTER
8.再次执行 SHOW CREATE DATABASE goods; 查看 goods 的编码
9.导入数据
答案是:D
在MySQL中,会为创建的每个数据库指定一个字符编码。如果在创建数据库时没有为数据库指定字符编码,则MySQL会为数据库指定一个默认的字符编码,这个默认的字符编码在MySQL的配置文件my.cnf中进行配置。
修改数据库的字符编码的语法格式如下:
ALTER DATABASE database_name CHARACTER SET character_name collate collate_name;