SQL表

SQL表

SQL表是按行和列组织的数据集合。在DBMS中,表称为关系,行称为元组。
表是一种简单的数据存储形式。表也被视为关系的方便表示。
下面来看看一个表:EMPLOYEE 的示例:

EMP_ID EMP_NAME CITY PHONE_NO
1 Kristen Washington 7289201223
2 Anna Franklin 9378282882
3 Jackson Bristol 9264783838
4 Kellan California 7254728346
5 Ashley Hawaii 9638482678

在上表中,“EMPLOYEE”是表名,“EMP_ID”“EMP_NAME”“CITY”“PHONE_NO”是列名。 多列数据的组合形成一行,例如:1“Kristen”“Washington”7289201223是一行的数据。

在表上的操作有

  • 创建表
  • 丢弃表
  • 删除表
  • 重命名表

1. SQL创建表

SQL create table用于在数据库中创建表。 要定义表,应该定义表的名称,并定义其列和列的数据类型。

语法

create table "table_name"    
("column1" "data type",    
"column2" "data type",    
"column3" "data type",    
...    
"columnN" "data type");

示例

SQL> CREATE TABLE EMPLOYEE (    
    EMP_ID INT  NOT NULL,    
    EMP_NAME VARCHAR (25) NOT NULL,    
    PHONE_NO INT NOT NULL,    
    ADDRESS CHAR (30),    
    PRIMARY KEY (ID)    
);

如果成功创建表,则可以通过SQL Server查看消息来验证表。 也可以使用DESC命令,如下所示:

SQL> DESC EMPLOYEE;
Field Type Null Key Default Extra
EMP_ID int(11) NO PRI NULL
EMP_NAME varchar(25) NO NULL
PHONE_NO NO int(11) NULL
ADDRESS YES NULL char(30)

现在,在数据库中有一张EMPLOYEE表,可以用来存储员工相关的信息。

删除表

SQL删除表用于删除表定义和表中的所有数据。 执行此命令时,表中可用的所有信息将永久丢失,因此在使用此命令时必须非常小心。

语法

DROP TABLE "table_name";

首先,需要使用以下命令验证EMPLOYEE表:

SQL> DESC EMPLOYEE;
Field Type Null Key Default Extra
EMP_ID int(11) NO PRI NULL
EMP_NAME varchar(25) NO NULL
PHONE_NO NO int(11) NULL
ADDRESS YES NULL char(30)

此表显示EMPLOYEE表在数据库中可用,因此可以按如下方式删除它:

SQL> DROP TABLE EMPLOYEE;

现在,可以使用以下命令检查表是否存在:

Query OK, 0 rows affected (0.01 sec)

由于这表明该表已被删除,因此它不会显示它。

SQL DELETE表

在SQL中,DELETE语句用于从表中删除行记录。使用WHERE条件从表中删除特定行。 如果要删除表中的所有记录,则不需要使用WHERE子句。

语法

DELETE FROM table_name WHERE condition;

示例

假设,EMPLOYEE表中具有以下记录:

EMP_ID EMP_NAME CITY PHONE_NO SALARY
1 Kristen Chicago 9737287378 150000
2 Russell Austin 9262738271 200000
3 Denzel Boston 7353662627 100000
4 Angelina Denver 9232673822 600000
5 Robert Washington 9367238263 350000
6 Christian Los angels 7253847382 260000

以下查询将删除ID为3的员工。

SQL> DELETE FROM EMPLOYEE  
WHERE EMP_ID = 3;

现在,EMPLOYEE表将具有以下记录。

EMP_ID EMP_NAME CITY PHONE_NO SALARY
1 Kristen Chicago 9737287378 150000
2 Russell Austin 9262738271 200000
4 Angelina Denver 9232673822 600000
5 Robert Washington 9367238263 350000
6 Christian Los angels 7253847382 260000

如果未指定WHERE条件,则会删除表中所有行。

DELETE FROM EMPLOYEE;

现在,EMPLOYEE表没有任何记录。


目录

索引和B+树