創建sql表
1> -- 創建測試主表. ID 是主鍵.
2> CREATE TABLE test_main (
3> id INT,
4> value VARCHAR(10),
5> PRIMARY KEY(id)
6> );
7> go
-- 建表時設置外鍵
1> CREATE TABLE test_sub (
2> id INT,
3> main_id INT,
4> value VARCHAR(10),
5> PRIMARY KEY(id),
6> FOREIGN KEY (main_id) REFERENCES test_main
7> );
8> go
『貳』 sql語句創建表
創建新表的程序功能為:
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
具體為:
創建之前判斷該資料庫是否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE databasename
on primary-- 默認就屬於primary文件組,可省略
(
/*--數據文件的具體描述--*/
name=『databasename_data』,-- 主數據文件的邏輯名稱
filename=『'所存位置:databasename_data.mdf』, -- 主數據文件的物理名稱
size=數值mb, --主數據文件的初始大小
maxsize=數值mb, -- 主數據文件增長的最大值
filegrowth=數值%--主數據文件的增長率
)
log on
(
/*--日誌文件的具體描述,各參數含義同上--*/
name='databasename_log', -- 日誌文件的邏輯名稱
filename='所存目錄:databasename_log.ldf', -- 日誌文件的物理名稱
size=數值mb, --日誌文件的初始大小
filegrowth=數值%--日誌文件的增長值
)
結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;
sql 語句就是對資料庫進行操作的一種語言。
(2)創建sql表擴展閱讀
1、常見語句
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
2、高級查詢
A:UNION運算符
UNION 運算符通過組合其他兩個結果表(例如TABLE1 和TABLE2)並消去表中任何重復行而派生出一個結果表。當 ALL 隨UNION 一起使用時(即UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自TABLE1 就是來自TABLE2。
B: EXCEPT運算符
EXCEPT 運算符通過包括所有在TABLE1 中但不在TABLE2 中的行並消除所有重復行而派生出一個結果表。當ALL 隨EXCEPT 一起使用時(EXCEPT ALL),不消除重復行。
C:INTERSECT運算符
INTERSECT 運算符通過只包括TABLE1 和TABLE2 中都有的行並消除所有重復行而派生出一個結果表。當ALL 隨INTERSECT 一起使用時(INTERSECT ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
『叄』 怎麼用sql語句創建表
CREATE TABLE 語句用於創建資料庫中的表。
CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)
數據類型(data_type)規定了列可容納何種數據類型。下面的表格包含了SQL中最常用的數據類型:
數據類型
描述
integer(size)
int(size)
smallint(size)
tinyint(size)
- 僅容納整數。在括弧內規定數字的最大位數。
decimal(size,d)
numeric(size,d)
容納帶有小數的數字。
"size" 規定數字的最大位數。"d" 規定小數點右側的最大位數。
char(size)
容納固定長度的字元串(可容納字母、數字以及特殊字元)。
在括弧中規定字元串的長度。
varchar(size)
容納可變長度的字元串(可容納字母、數字以及特殊的字元)。
在括弧中規定字元串的最大長度。
date(yyyymmdd) 容納日期。
『肆』 如何用sqL語句創建表,要完整的語句
如果id不是標識自動加1,則語句如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ufdd]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ufdd]
GO
CREATE TABLE [dbo].[ufdd] (
[id] [int] NOT NULL ,
[citem] [varchar] (22) NULL ,
[citemc] [tinyint] NULL ,
[bitem] [bit] NOT NULL
) ON [PRIMARY]
GO
如果id是標識自動加1,則語句如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ufdd]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ufdd]
GO
CREATE TABLE [dbo].[ufdd] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[citem] [varchar] (22) NULL ,
[citemc] [tinyint] NULL ,
[bitem] [bit] NOT NULL
) ON [PRIMARY]
GO
『伍』 SQL如何創建一個數據表
create
table
userinfo
(
id
int
primary
key
not
null
identity
(1,1),
[name]
char(20)
unique,
age
int
check(age>10),
sex
char(2)
)
建議一個名叫userinfo的表,欄位為
id
,自動+1,主鍵,不為空!
name
,char(20)
不重復!
age
int類型,年齡必須大於10,否則會出現錯誤!
sex
性別
char(2)
好好學習,天天向上!
『陸』 如何創建SQL表
創建資料庫表首先得創建好資料庫,資料庫的具體創建方法請參見:http://jingyan..com/article/63f236280e53740209ab3d53.html
3
創建數據表的源代碼如下,各命令詳見請自行網路。
use test
go
if exists(select name from sys.tables where name='Student')
drop table Student
go
create table Student
(sname nchar(10) primary key,
sex nchar(2) not null,
bir datetime
)
『柒』 建立表的sql命令是什麼
create table 表名(欄位名1 類型,欄位名2 類型…);
create table 表名1 as select *from 表2 where 1=2
『捌』 如何用SQL創建一個表格
1、打開SQL Server,在資料庫處,右鍵資料庫,點擊新建資料庫。
『玖』 sql創建表
基本上是4部分,開始創建表,接著是選擇表空間,這部分不寫的話,系統會生成默認表空間。然後的幾句comment都是為表中列名添加註釋。最後的index是創建一個索引
『拾』 sql怎麼創建表
1.1 創建表方法
創建表是指在已存在的資料庫中建立新表。這是建立資料庫最重要的一步,是進行其他操作的基礎。
1.1.1 創建表的語法形式
CREATE TABLE 表名 (
屬性名 數據類型 [ 完整性約束條件 ],
屬性名 數據類型 [ 完整性約束條件 ],
......
屬性名 數據類型 [ 完整性約束條件 ],
)[ 表類型 ] [ 表字元集 ];
SQL 是不區分大小寫。下面將會具體介紹SQL,這種創建表是通過什麼方式起來的效果怎麼樣?
命名規范:
1. 命名富有意義 ( 英文或英文組合 )
2. 自定義名稱使用小寫
3. MySQL 語句使用大寫
CREATE TABLE IF NOT EXISTS data_house(
id INT,
name VARCHAR(20);
gender BOOLEAN,
) Engine = MyISAM;
上面 SQL 語句的含義是:如果不存在 text1 表,就創建它,包含 3 個欄位 id 、 name 和 gender ,它們的類型分別是整形、字元型和布爾型,創建的表的類型是 MyISAM 。
完整性約束條件表
PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組
FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯系的某表的主鍵
NOT NULL 標識該屬性不能為空
UNIQUE 標識該屬性的值是唯一的
AUTO_INCREMENT 標識該屬性的值自動增加,這是 MySQL 的 SQL 語句的特色 (null,0)
DEFAULT 標識該屬性設置默認值 (not null defualt 0,not null default 0.0,not null default '')
1.1.2 設置表的主鍵
主鍵是表的一個特殊欄位。該欄位能惟一地標識該表中的每條信息。主鍵和記錄的關系,如同身份證和人的關系。主鍵用來標識每個記錄,每個記錄的主鍵值都不同。身份證是用來標明人的身份,每個人都具有惟一的身份證號。設置表的主鍵指在創建表時設置表的某個欄位為該表的主鍵。
主鍵的主要目的是幫組 MySQL 以最快的速度查找到表中的某一條信息。
主鍵必須滿足的條件:
1. 主鍵必須是唯一的,表中任意兩條記錄的主鍵欄位的值不能相同;
2. 主鍵的值是非空值;
3. 主鍵可以是單一的欄位,也可以是多個欄位組合。
1. 單欄位的主鍵:
CREATE TABLE student1 (
stu_id INT PRIMARY KEY ,
stu_name VARCHAR(20) NOT NULL,
stu_gender BOOLEAN
) Engine = InnoDB;
2. 多欄位主鍵 :
CREATE TABLE student2 (
stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY( stu_id, course_id )
)Engine = InnoDB;
1.1.3 設置表的外鍵
外鍵是表的一個特殊欄位。如果欄位 sno 是一個表 A 的屬性,且依賴於表 B 的主鍵。那麼,稱表 B 為父表,表 A 為子表, sno 為表 A 的外鍵。通過 sno 欄位將父表 B 和子表 A 建立關聯關系。設置表的外鍵指在創建表設置某個欄位為外鍵。
設置外鍵的原則:必須依賴於資料庫中已存在的父表的主鍵;外鍵可以為空值。
外鍵的作用 : 是建立該表與其父表的關聯關系。父表中刪除某條信息時,子表中與之對應的信息也必須有相應的改變。例如, stu_id 就 student 表的主鍵, stu_id 是 grade 表的外鍵。當 stu_id 為 '123' 同學退學了,需要從 student 表中刪除該學生的信息。那麼, grade 表中 stu_id 為 '123' 的所有信息也應該同時刪除。
CONSTRAINT 外鍵別名 FOREIGN KEY ( 屬性 1.1, 屬性 1.2... 屬性 1.n);
REFERENCES 表名 ( 屬性 2.1, 屬性 2.2,..., 屬性 2.n)
CREATE TABLE student3 (
id INT PRIMARY KEY,
stu_id INT,
course_id INT,
# 設置外鍵
CONSTRAINT C_fk FOREIGN KEY (stu_id, course_id) REFERENCES student2(stu_id, course_id)
) Engine = InnoDB;
1.1.4 設置表的非空約束
非空性是指欄位的值不能為空值 (NULL) 。非空約束將保證所有記錄中該欄位都有值。如果用戶新插入的記錄中,該欄位為空值,則資料庫系統會報錯。例如,在 id 欄位加上非空約束, id 欄位的值就不能為空。如果插入記錄的 id 欄位的值為空,該記錄將不能插入。設置表的非空約束是指在創建表時為表的某些特殊欄位加上 NOT NULL 約束條件。設置非空約束的基本語法規則如下:
屬性名 數據類型 NOT NULL