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
是一行的数据。
在表上的操作有
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语句用于从表中删除行记录。使用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
表没有任何记录。