软件测试|SQL如何创建删除表,你会了吗?

2023-05-07 14:14:00 浏览数 (3)

前言

之前我们介绍了SQL中如何创建删除使用数据库,本篇文章我们将介绍创建删除表等操作。

创建表(CREATE TABLE)

表(Table)是以行和列形式组织的数据的集合,表被创建以后,列数是固定的,但是行数可以改变。创建表时,需要给表命名,并定义它的列以及每一列的类型。

SQL CREATE TABLE 语句用于创建新的表。

代码语言:sql复制
CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);

CREATE TABLE 是 SQL 命令,告诉数据库你想创建一个新的表,它后面紧跟的 table_name 是表的名字。然后在括号中定义表的列,以及每一列的类型,稍后会有更加清晰明了的示例。

PRIMARY KEY 关键字用来指明表的主键。

另外,您也可以使用 CREATE TABLE 和 SELECT 语句的组合来创建现有表的一个副本。

示例

下面的例子将创建一个以 name 为主键的 player 表,该表用来存储一些世界足球运动员的信息。代码如下:

代码语言:sql复制
CREATE TABLE website (
    name    VARCHAR(20)      NOT NULL,
    age     INT              NOT NULL,
    position   VARCHAR(20)     NOT NULL,
    club CHAR(3)          NOT NULL   DEFAULT '',
    PRIMARY KEY (`name`)
);

执行 CREATE TABLE 命令以后,你可以根据提示信息来确实表是否创建成功,也可以使用 DESC 命令来查看表的结构,如下所示:

代码语言:sql复制
SQL> DESC player;
 --------- --------------------- ------ ----- --------- ---------------- 
| Field   | Type                | Null | Key | Default | Extra          |
 --------- --------------------- ------ ----- --------- ---------------- 
| name    | varchar(20)         | NO   | PRI | NULL    |                |
| age     | INT                 | NO   |     | NULL    |                |
|position | VARCHAR(20)         | NO   |     | NULL    |                |
| country | char(3)             | NO   |     | NULL    |                |
 --------- --------------------- ------ ----- --------- ---------------- 
4 rows in set (0.00 sec)

如上所示,我们就完成了表的创建。

删除表(DROP TABLE)

不需要使用某个数据表时,您可以将它删除。SQL DROP TABLE 语句用来删除数据表,以及与该表相关的所有数据、索引、触发器、约束和权限。

注:一旦删除了表,那么该表中所有的信息将永远丢失,慎用删除命令

DROP TABLE 语句的基本语法如下:

代码语言:sql复制
DROP TABLE table_name;

注:table_name 表示要删除的数据表的名字。

示例

首先验证 player 表是否存在,然后将其从数据库中删除,如下所示:

代码语言:sql复制
SQL> DESC player;
 --------- --------------------- ------ ----- --------- ---------------- 
| Field   | Type                | Null | Key | Default | Extra          |
 --------- --------------------- ------ ----- --------- ---------------- 
| name    | varchar(20)         | NO   | PRI | NULL    |                |
| age     | INT                 | NO   |     | NULL    |                |
|position | VARCHAR(20)         | NO   |     | NULL    |                |
| country | char(3)             | NO   |     | NULL    |                |
 --------- --------------------- ------ ----- --------- ---------------- 
4 rows in set (0.00 sec)

这意味着 player 表是有效的,接着我们使用如下的代码将它删除:

代码语言:sql复制
SQL> DROP TABLE player;
Query OK, 0 rows affected (0.01 sec)

现在,如果您再次尝试使用 DESC 命令,那么您将看到以下的错误:

代码语言:sql复制
SQL> DESC player;
ERROR 1146 (42S02): Table 'fcbayern.player' doesn't exist

注:fcbayern是我们使用的演示数据库的名字。

总结

本文主要介绍了SQL创建表和删除表的操作,我们在删除表的时候需要特别注意。后面我们将继续介绍SQL中向表格里插入数据等操作。

0 人点赞