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
表沒有任何記錄。