文章目录

  • 使用数据库
  • 创建和删除数据库
  • 创建表
  • 自增字段
  • 删除表
  • 数据库编码


使用数据库

创建和删除数据库

Joe 在开发机上创建了一个名为 goods 的数据库,做了一些练习,现在他需要删除这个数据库,重建一个 goods。那么他需要的步骤是:

mysql创建数据表mac MySQL创建数据表goods_mysql创建数据表mac


答案是:A

创建数据库的语法格式如下:

CREATE DATABASE database_name
CREATE DATABASE IF NOT EXISTS database_name

BD是make,语法错误;
题目已经告知存在goods数据库,所以不需要再做exists判断了。

创建表

Joe 想要在 goods 数据库创建一个 goods_category 表,管理商品的类别,那么正确的建表语句应该是:

mysql创建数据表mac MySQL创建数据表goods_mysql_02


mysql创建数据表mac MySQL创建数据表goods_mysql_03


答案是:A

MySQL中创建数据表需要遵循一定的语法格式,这些语法格式为创建数据表提供了模板依据。同时,遵循一定的语法格式创建数据表,也降低了出错的概率。

在MySQL中创建表使用的是CREATE TABLE语句,语法格式如下:

CREATE TABLE [IF NOT EXISTS] 表名(
  字段1 数据类型 [约束条件] [默认值],
  字段2 数据类型 [约束条件] [默认值],
  字段3 数据类型 [约束条件] [默认值],
  ……
  [表约束条件]
  );

自增字段

Joe 需要重建一个 id 为自增字段的 goods_category 。他已经删除了旧表,那么接下来应该:

mysql创建数据表mac MySQL创建数据表goods_mysql_04


mysql创建数据表mac MySQL创建数据表goods_数据库_05


答案是:D

MySQL支持将整数类型的主键设置为默认递增类型,这样在向数据表插入数据时,可以不用指定整数类型主键的值,MySQL会将该表的整数类型的主键值自动加1。

MySQL中设置整数类型的主键值默认递增的语法格式如下:

字段名称 数据类型 PRIMARY KEY AUTO_INCREMENT

删除表

Joe 想要删除数据库中的 good_category 表,他应该怎么操作?


mysql创建数据表mac MySQL创建数据表goods_字段_06

答案是: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.导入数据

mysql创建数据表mac MySQL创建数据表goods_mysql_07


答案是:D

在MySQL中,会为创建的每个数据库指定一个字符编码。如果在创建数据库时没有为数据库指定字符编码,则MySQL会为数据库指定一个默认的字符编码,这个默认的字符编码在MySQL的配置文件my.cnf中进行配置。

修改数据库的字符编码的语法格式如下:

ALTER DATABASE database_name CHARACTER SET character_name collate collate_name;