原鏈接:https://blog.csdn.net/kepa520/article/details/78793431?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link
SQL Server創建表是最常見也是最常用的操作之一,下面就為您介紹SQL Server創建表的語句寫法,供您參考,希望可以讓您對SQL Server創建表方面有更深的認識。
- USE suntest
- create table 倉庫
- (
- 倉庫編號 int ,
- 倉庫號 varchar(50) ,
- 城市 varchar(50) ,
- 面積 int
- )
- create table 倉庫1
- (
- 倉庫編號 int not null ,
- 倉庫號 varchar(50) not null,
- 城市 varchar(50) not null, --不能為空not null--
- 面積 int
- )
- create table 倉庫2
- (
- 倉庫編號 int primary key , --主鍵的關鍵字primary key--
- 倉庫號 varchar(50) unique, --唯一索引關鍵字unique--
- 城市 varchar(50) not null, --不能為空not null--
- 面積 int
- )
- create table 倉庫3
- (
- 倉庫編號 int primary key , --主鍵的關鍵字primary key--
- 倉庫號 varchar(50) unique, --唯一索引關鍵字unique--
- 城市 varchar(50) default '青島', --不能為空not null--
- 面積 int check (面積>=300 and 面積<=1800)
- )
- create table 職工表
- (
- 職工編號 int identity (1,1) primary key,
- 職工號 varchar(50) unique,
- 倉庫號 varchar(50),
- 工資 int check(基本工資>=800 and 基本工資<=2100),
- )
- create table 訂單表
- (
- 訂單編號 int identity(1,1) primary key,
- 訂單號 varchar(50) unique,
- 職工號 varchar(50) references 職工表(職工號),--references兩張表通過“職工號”關聯--
- 訂購日期 datetime,
- 銷售金額 int
- )
- create table 陽光工資表
- (
- 職工編號 int identity (1,1) primary key,
- 職工號 varchar(50) unique,
- 倉庫號 varchar(50),
- 基本工資 int check(基本工資>=800 and 基本工資<=2100),
- 加班工資 int,
- 獎金 int,
- 扣率 int,
- 應發工資 as (基本工資+加班工資+獎金-扣率) --as為自動計算字段,不能輸入值--
- )
以上就是SQL Server創建表語句介紹。
http://blog.csdn.net/woshisap/article/details/7333893
1:在sql語句中,臨時表有兩類,分別是局部(local)和全局(global)臨時表,局部臨時表只在其會話(事務)中可見,全局臨時表可以被會話(事務)中的任何程序或者
模塊訪問
2:創建局部臨時表
- use db_sqlserver
- go
- create table #db_local_table
- (
- id int,
- name varchar(50),
- age int,
- area int
- )
創建的臨時表不能與其他會話共享,當會話結束時,行和表的定義都將被刪除
3:創建全局臨時表
- use db_sqlserver
- go
- create table ##db_local_table
- (
- id int,
- name varchar(50),
- age int,
- area int
- )
全局臨時表對所有用戶都是可見的,在每個訪問該表的用戶都斷開服務器連接時,全局臨時表才會被刪除
4:創建主鍵、外鍵關聯的數據庫表
- use db_sqlserver;
- go
- create table db_table5
- (
- 職工編號 int primary key,
- 職工號 varchar(50) unique,
- 倉庫號 varchar(50),
- 工資 int
- )
- go
- create table db_table6
- (
- 訂單編號 int primary key,
- 訂單號 varchar(50) unique,
- 職工號 varchar(50) references db_table5(職工號),
- 訂購日期 datetime,
- 銷售金額 int
- )
5:創建具有check約束字段的數據庫表
- use db_sqlserver;
- go
- create table db_table7
- (
- 倉庫編號 int primary key,
- 職工號 varchar(50) unique,
- 倉庫號 varchar(50),
- 工資 int,
- 面積 int check(面積>=600 and 面積<=1800)
- )
6:創建含有計算字段的數據庫表
- use db_sqlserver;
- go
- create table db_table8
- (
- 職工編號 int primary key,
- 職工號 varchar(50) unique,
- 倉庫號 varchar(50),
- 基本工資 int check(基本工資>=800 and 基本工資<=2100),
- 加班工資 int,
- 獎金 int,
- 扣率 int,
- 應發工資 as (基本工資 + 加班工資 + 獎金 - 扣率)
- )
7:創建含有自動編號字段的數據庫表
- use db_sqlserver;
- go
- create table db_table9
- (
- 倉庫編號 int identity(1,1) primary key,
- 倉庫號 varchar(50) unique,
- 城市 varchar(50) default('青島'),
- 面積 int check(面積>=300 and 面積<=1800)
- )
向表中添加記錄:
- insert into [db_sqlserver].[dbo].[db_table9](倉庫號, 面積) values('400', 1600);
倉庫編號會自動增加
8:創建含有排序字段的數據表
- create table db_table10
- (
- 倉庫編號 int identity(1, 1) primary key,
- 倉庫號 varchar(50) collate french_CI_AI not null,
- 城市 varchar(50) default '青島',
- 面積 int check(面積>=300 and 面積<=1800)
- )
倉庫號是一個排序字段,其中CI(case insensitive)表示不區分大小寫,AI(accent insensitive)表示不區分重音,即創建的是一個不區分大小寫
和不區分重音的排序。如果要區分大小和和區分排序,修改代碼為:French_CS_AS
9:動態判斷數據庫表是否存在
- use db_sqlserver;
- go
- if(Exists(select * from sys.sysobjects where id=OBJECT_ID('db_table9')))
- print '數據庫表名已經存在'
- else
- print '該數據庫表名不存在,可以利用該名創建表'
10:查看表的各種信息,可以查看指定數據庫表的屬性、表中字段屬性、各種約束等信息
- use db_sqlserver;
- go
- execute sp_help db_table9;
11:用select語句查看數據庫表的屬性信息
- use db_sqlserver;
- go
- select * from sysobjects where type='U'
12:重命名數據庫表
- use db_sqlserver;
- go
- execute sp_rename "db_table9", "db_renametable"
13:增加數據庫表的新字段
- use db_sqlserver;
- go
- alter table db_table1 add 電子郵件 varchar(50)
- alter table db_table1 add 聯系方式 varchar(50) default '0532-88886396'
- select name 字段名, xusertype 類型編號, length 長度 from syscolumns where id = object_id('db_table1')

14:修改數據庫表的字段
- use db_sqlserver;
- go
- alter table db_table1 alter column 電子郵件 varchar(200)
- select name 字段名, xusertype 類型編號, length 長度 from syscolumns where id = object_id('db_table1')

15:刪除數據庫表字段
- use db_sqlserver;
- go
- alter table db_table1 drop column 電子郵件
- select name 字段名, xusertype 類型編號, length 長度 from syscolumns where id = object_id('db_table1')

16:刪除數據庫表
- use db_sqlserver;
- go
- drop table db_table1
- drop table db_table1, db_table2
如果刪除有依賴關聯的數據庫表,即主鍵、外鍵關鍵表、則要刪除兩個表之間的關聯約束,然后才能刪除表。注意,也可以先刪除引用該表的數據庫表,然后
即可刪除該表,
http://www.yiibai.com/sql/sql-create-table.html
創建基本表中涉及命名表並定義其列,每列的數據類型。
SQL的CREATE TABLE語句用於創建新表。
語法
CREATE TABLE語句的基本語法如下:
CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) );
CREATE TABLE是關鍵字告訴數據庫系統你想做什么。在這種情況下,你要創建一個新表。唯一的名稱或標識表如下CREATE TABLE語句。
然后在括號的列定義在表中的每一列是什么樣的數據類型。使用下面的一個例子,語法變得更清晰。
可以使用CREATE TABLE語句和SELECT語句的組合來創建從現有表的副本。您可以查看完整的詳細信息使用另一個表創建表 。
示例:
下面是一個例子,它使用ID作為主鍵並且為NOT NULL來創建一個客戶表的約束,這些字段不能為NULL在創建該表的記錄時:
SQL> 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) );
您可以驗證,如果你的表已成功創建,可通過查看SQL服務器顯示的消息,也可以使用DESC命令,如下所示:
SQL> DESC CUSTOMERS; +---------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+---------------+------+-----+---------+-------+ | ID | int(11) | NO | PRI | | | | NAME | varchar(20) | NO | | | | | AGE | int(11) | NO | | | | | ADDRESS | char(25) | YES | | NULL | | | SALARY | decimal(18,2) | YES | | NULL | | +---------+---------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)
現在數據庫,可以用它來存儲用戶所需的信息在CUSTOMERS表。
