目錄
- 創建表:CREATE TABLE 陳述句
- 語法
- 實體
- 更改表:ALTER TABLE 陳述句
- 洗掉表:DROP TABLE 陳述句
- 復制表:SELECT INTO 陳述句
- 臨時表
- 參考資料
創建表:CREATE TABLE 陳述句
CREATE TABLE 陳述句用于創建資料庫中的表,表由行和列組成,每個表都必須有個表名,
CREATE DATABASE 陳述句用于創建資料庫:CREATE DATABASE dbname;
語法
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
column_name 引數規定表中列的名稱,
data_type 引數規定列的資料型別(例如 varchar、integer、decimal、date 等等),
size 引數規定表中列的最大長度,
提示:如需了解 MS Access、MySQL 和 SQL Server 中可用的資料型別,請訪問資料型別參考手冊,
實體
創建一個名為 "Persons" 的表,包含五列:PersonID、LastName、FirstName、Address 和 City,使用下面的 CREATE TABLE 陳述句:
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
PersonID 列的資料型別是 int,包含整數,
LastName、FirstName、Address 和 City 列的資料型別是 varchar,包含字符,且這些欄位的最大長度為 255 個字符,
提示:可使用 INSERT INTO 陳述句向空表寫入資料,
更改表:ALTER TABLE 陳述句
ALTER TABLE 陳述句用于在已有的表中添加、洗掉或修改列,
-
如需在表中添加列,請使用下面的語法:
ALTER TABLE table_name
ADD column_name datatype -
如需洗掉表中的列,請使用下面的語法(請注意,某些資料庫系統不允許這種在資料庫表中洗掉列的方式):
ALTER TABLE table_name
DROP COLUMN column_name -
要改變表中列的資料型別,請使用下面的語法:
-
SQL Server / MS Access:
ALTER TABLE table_name
ALTER COLUMN column_name datatype -
My SQL / Oracle:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype -
Oracle 10G 之后版本:
ALTER TABLE table_name
MODIFY column_name datatype;
-
洗掉表:DROP TABLE 陳述句
DROP TABLE 陳述句用于洗掉表:
DROP TABLE table_name
復制表:SELECT INTO 陳述句
SELECT INTO 陳述句從一個表復制資料,然后把資料插入到另一個新表中,
MySQL 資料庫不支持 SELECT ... INTO 陳述句,但支持 INSERT INTO ... SELECT(只拷貝表的資料,不拷貝表的結構,前提是新表已經存在)) ,
當然你可以使用AS陳述句來拷貝表結構及資料:CREATE TABLE 新表 AS SELECT * FROM 舊表
-
復制所有的列插入到新表中:
SELECT *
INTO newtable [IN externaldb]
FROM table1; -
復制希望的列插入到新表中:
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1; -
只復制表結構到新表中(只需要添加促使查詢沒有資料回傳的 WHERE 子句即可):
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;
提示:新表將會使用 SELECT 陳述句中定義的列名稱和型別進行創建,您可以使用 AS 子句來應用新名稱,
臨時表
區域臨時表與全域臨時表區別與示例:
- 區域臨時表(#開頭)只對當前連接有效,當前連接斷開時自動洗掉,
- 全域臨時表(##開頭)對其它連接也有效,在當前連接和其他訪問過它的連接都斷開時自動洗掉,
- 不管區域臨時表還是全域臨時表,只要連接有訪問權限,都可以用drop table #Tmp(或者drop table ##Tmp)來顯式洗掉臨時表,
參考資料
SQL 教程 | 菜鳥教程
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/1195.html
標籤:其它
上一篇:SQL陳述句之基礎增刪改查
下一篇:SQL陳述句之索引操作
