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