本章我们将创建,更改和删除表。
我们将使用以下 SQL 语句:
CREATE
ALTER
DROP
CREATE
,ALTER
和DROP
语句不限于表。 我们可以使用它们来创建其他数据库对象,例如事件,触发器,视图,函数或过程。 这些语句是 SQL 规范的数据定义语言(DDL)的一部分。
CREATE
和DROP
语句
CREATE
语句用于创建表。 它还用于创建索引,视图,事件,例程和触发器。
要创建表,我们给表及其列命名。 每列都有一个数据类型。 在上一章中,我们介绍了各种 MySQL 数据类型。 为列选择正确的数据类型是数据库初始设计的一部分。
我们使用CREATE TABLE
语句创建一个简单的测试表。 表名称是“测试”。 该表具有称为Id
的一列。 列的数据类型为INTEGER
。
使用SHOW CREATE TABLE
语句,我们可以看到创建特定表的确切 SQL 语句。 还有一些默认设置。 如果我们不提供一些明确的属性,则选择这些属性。 如果没有另外指定,默认的 MySQL 引擎是 InnoDB。 (这适用于 MySQL 5.5+)。 默认字符集为 latin1。
可以使用SHOW TABLES
语法显示已创建的非临时表。 我们可以使用LIKE
子句限制显示的表。 在我们的例子中,我们显示所有以 T 开头的表。
DROP TABLE
语句从数据库中删除一个表。
我们重新创建Testing
表。 INT
是INTEGER
的同义词。 数据库引擎显式设置为MEMORY
。 我们还指定字符集和排序规则。
ALTER TABLE
语句
ALTER TABLE
语句更改现有表的结构。 可以添加新列,删除列,重命名列和表或更改表的类型。 在下面的示例中,我们将演示一些可能性。
我们使用RENAME TO
子句将测试表重命名为 TestTable。
我们将一个名为 iValues 的新列添加到表中。
该语句显示表中的可用列。 我们看到新添加的列。
可以向表中添加约束。
我们向TestTable
添加PRIMARY KEY
约束。
DESCRIBE
是SHOW COLUMNS FROM
的同义词。 我们可以在 Key 列下看到为 ID 列设置了主键约束。
在此 SQL 语句中,我们将列名从iValues
更改为iValues1
。
我们使用上面的 SQL 语句来修改列定义。 我们将列数据类型从INTEGER
更改为MEDIUMINTEGER
。
在最后一个示例中,我们从表中删除了现有的列。