T-SQL學習-Create&Drop Tables,INSERT、SELECT、UPDATE、DELETE Statements(陳述式說明)

在這邊紀錄,自己的學習歷程,若有說明錯誤的地方還請各位大大指教,這篇會講述Create、Drop 表格,和陳述式。

Create Tables

Create Table 這個關鍵字是告訴DB System 你想要做甚麼事。你需要給Table唯一的Name 在這個Table 且去 follows Create Table statement。

Syntax

下面是基礎語法

Example

CREATE TABLE CUSTOMERS( 
   ID   INT              NOT NULL, 
   NAME VARCHAR (20)     NOT NULL, 
   AGE  INT              NOT NULL, 
   ADDRESS  CHAR (25) , 
   SALARY   DECIMAL (18, 2),        
   PRIMARY KEY (ID));

自己的案例:

CREATE TABLE CUSTOMERS(

ID INT ,

NAME nvarchar(Max),

AGE nvarchar(3),

ADDRESS  nvarchar(Max),

SALARY money 

);

簡單說明一下,我創建了名為Customers的 Table, Column 有 ID(INT), NAME(nvarchar(Max)), AGE (nvarchar(3)), ADDRESS(nvarcahr(Max)). Salary(money)。

EX:ID(INT)

小括號內部是宣告他的型態 nvarchar(3) 或 nvarchar(Max)裡的3和Max代表他的字元長度限制。

你可以在SQL Server訊息中知道成功創建Table的訊息。

或是用以下指令去查看。

exec sp_columns CUSTOMERS

 

Drop Tables

Drop Table這個語法,是移除掉Table的定義,和 所有Data, indexes, triggers, constraints, and pernission specifications for Table。

Note: 當你使用此指令時,要小心,表中所有的信息將永遠丟失。

Syntax

下面是基礎語法

DROP TABLE CUSTOMERS;

Example

我們可以先驗證Table在Drop掉看效果。

Exec sp_columns CUSTOMERS;

之後在進行Drop

DROP TABLE CUSTOMERS; 
Command(s) completed successfull

接著再進行驗證

Exec sp_columns CUSTOMERS; 
No rows\data will be displayed 

 

INSERT Statement

INSERT INTO Statement 在DB的Table裡是被使用來Add New Row。 

以下是兩個基礎與法

Syntax

根據指定Column去做INSERT 

INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]   
VALUES (value1, value2, value3,...valueN); 

or

如果要增加全部的Columns就不需要指定Column。但要確保the order of values 和 table裡的Column是一樣的。

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

Example

第一個語法指定欄位的Syntax

INSERT  INTO CUSTOMERS VALUES(1, 'Ramesh', '32', 'Ahmedabad', 2000.00 );
INSERT  INTO CUSTOMERS VALUES(2, 'Khilan', '25', 'Delhi', 1500.00 );
INSERT  INTO CUSTOMERS VALUES(3, 'kaushik', '23', 'Kota', 2000.00 );
INSERT  INTO CUSTOMERS VALUES(4, 'Chaitali', '25', 'Mumbai', 6500.00 );
INSERT  INTO CUSTOMERS VALUES(5, 'Hardik', '27', 'Bhopal', 8500.00 );
INSERT  INTO CUSTOMERS VALUES(6, 'Komal', '22', 'MP', 4500.00 );
INSERT  INTO CUSTOMERS VALUES(7, 'Muffy', '24', 'Indore', 10000.00 );

第二個語法不指定欄位增加整個Row的Syntax

INSERT INTO CUSTOMERS VALUES (7, 'Muffy', 24, 'Indore', 10000.00 );

 

Populate One Table Using Another Table

你可以Populate Data 透過Select Statement 到把Table上的資料INSERT 到另一個Table上。

以下是Syntax

INSERT INTO first_table_name  
   SELECT column1, column2, ...columnN  
      FROM second_table_name 
      [WHERE condition];

 

SELECT Statement

SELECT Statement被使用來從Database Table中取得儲存在Table的Data 結果。

這個Result Tables 被稱為result-sets

Syntax

以下是SELECT Statement的基礎與法

SELECT column1, column2, columnN FROM table_name;

Example

以下取得在Customers Column裡的ID, Name, Salary 資料

SELECT ID, NAME, SALARY FROM CUSTOMERS; 

如果你想取得Customers裡的所以欄位,可以使用下面查詢

SELECT * FROM CUSTOMERS;

 

UPDATE Statement

Update Statement是被用來修改在Table裡Existing Records的資料。

你可以使用Wherer clause 去指定修改Selected Row。

Syntax

以下是基礎語法

UPDATE table_name 
SET column1 = value1, column2 = value2...., columnN = valueN 
WHERE [condition];

你可以透過使用AND or OR Operators 去組合符合N的條件。 

Example

以下將Customers表格ID=6資料,去修改他的ADDRESS='Pune' 。

UPDATE CUSTOMERS 
SET ADDRESS = 'Pune' 
WHERE ID = 6; 

如果想更新多個Column,可以使用以下語法:

UPDATE CUSTOMERS 
SET ADDRESS = 'Pune', SALARY = 1000.00;

 

DELETE Statement

DELETE Statement被用來刪除在Table中已儲存的Record

你可以使用Where條件句去Selected Row,否則會刪除所有Record。

Syntax

DELETE FROM table_name 
WHERE [condition]; 

Example

DELETE FROM CUSTOMERS 
WHERE ID = 6;

若要刪除此Tabel全部的紀錄,你不需要使用Where條件句。

刪除如下:

DELETE FROM CUSTOMERS;