1. 如何用sql創建一個表格
1、打開SQL Server,在資料庫處,右鍵資料庫,點擊新建資料庫。
2. 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),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
3. SQL語句建表,
就以建立一個學生表為例:CREATE TABLE STUDENT_INFO_T -- STUDENT_INFO_T 是表名( StudentID INT primary key identity, -- 學生的學號作為關鍵字並讓其標識設為自增 StudentName nvarchar(20) NOT NULL, StudentSex char(2) NOT NULL, StudentAge INT NOT NULL)從上面的小例子可以看出,SQL建表的一般格式如下:create table 表名( 屬性1 數據類型, --根據需要是否設為主鍵或自增 屬性2 數據類型, --根據需要是否為空,如果不為空,可以加多一條NOT NULL 屬性n 數據類型)
4. 資料庫建表語句
CREATE TABLE語句,用於在資料庫中創建新表。語法:CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])。
table參數用於指定新建表的名稱。field1,field2用於指定在新表中創建的新欄位的名稱,每創建一個新表必須至少創建一個欄位。type參數用來指定新建欄位的數據類型。size參數用於指定文本及二進制欄位的長度。
NOT NULL是SQL的關鍵字,使用該參數則新記錄的該欄位值必須是有效的數據。在一個欄位上只能使用一次NOT NULL參數,否則會出錯。index1, index2參數是定義單一欄位索引的CONSTRAINT子句。multifieldindex參數是定義多重欄位索引的CONSTRAINT子句。
(4)重復創建表sql語句擴展閱讀:
方法數據類型(data_type)規定了列可容納何種數據類型。SQL中最常用的數據類型有:
1、integer(size) int(size) smallint(size) tinyint(size):僅容納整數。
2、decimal(size,d) numeric(size,d):容納帶有小數的數字。
3、char(size):容納固定長度的字元串
4、varchar(size):容納可變長度的字元串
5、date(yyyymmdd):容納日期。
CREATE TABLE語句可創建空表,同時可使用 INSERT INTO 語句向空表寫入數據。
5. sql語句如何把一個表中的數據去重創個新表
用distinct去重,然後使用如下語法創建:
create table xxx as select distinct * from xxx
這樣就在新表中保存了舊表中去重後的數據
6. 如何用sql語句 循環創建表
SQL語句無法實現循環,只能通過程序或者存儲過程來實現
7. 創建表的sql語句
其實這個是很簡單的問題,相信書中絕對能找到答案!
舉例:
create table [學生]
(
學號 char(8) not null primarykey,
姓名 varchar(8) not null
)
上面寫了兩列,其餘差不多,至於不允許有重復姓名,加上「約束」就行了。
祝你進步!
8. SQL語句創建表
CREATE TABLE 語句用於創建資料庫中的表。
具體用法為:
CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)
(8)重復創建表sql語句擴展閱讀:
創建表數據類型:
integer(size) int(size) smallint(size) tinyint(size):僅容納整數。
decimal(size,d) numeric(size,d):容納帶有小數的數字。
char(size):容納固定長度的字元串
varchar(size):容納可變長度的字元串
date(yyyymmdd):容納日期。
參考資料:網路-SQL CREATE TABLE
9. 寫出創建如下三張數據表的SQL語句
CREATETABLETEACHER
(
TIDCHAR(10)primarykey,
TNAMEVARCHAR(20),
TDEPTVARCHAR(30),
TJNAMECHAR(6)
)
insertintoTEACHERvalues('110','黃嘉欣','管理學系','教授')
insertintoTEACHERvalues('111','劉而已','計算機系','教師')
insertintoTEACHERvalues('112','王嘉驥','外語系','副教授')
CREATETABLECOURSE1
(
CNOCHAR(20)primarykey,
CNAMEVARCHAR(40),
CHOURtinyint,
TERMtinyint
)
insertintoCOURSE1values('011','酒店管理',35,1)
insertintoCOURSE1values('012','管理學基礎',75,1)
insertintoCOURSE1values('021','JAVA基礎',80,2)
insertintoCOURSE1values('022','安卓開發',70,2)
insertintoCOURSE1values('031','英語作文書寫',40,1)
insertintoCOURSE1values('032','日語聽力練習',70,1)
insertintoCOURSE1values('033','日語寫作',70,1)
insertintoCOURSE1values('023','數據結構',20,1)
createtabletcourse
(
TIDCHAR(10),
CNOCHAR(20),
thourint,
tyearint--這個題有些矛盾,如果這里設為了主鍵,下面插入數據就沒法插入重復的,c.3.就沒有意義
)
_consFOREIGNKEY(TID)REFERENCESteacher;
_consFOREIGNKEY(CNO)REFERENCEScourse1;
insertintotcoursevalues('110','011',35,2014)
insertintotcoursevalues('110','012',75,2012)
insertintotcoursevalues('111','021',80,2015)
insertintotcoursevalues('111','022',70,2013)
insertintotcoursevalues('112','031',40,2014)
insertintotcoursevalues('112','032',70,2014)
--a.
SELECTTNAME,TDEPTFROMTEACHERWHERETJNAME='教授'
--b.
SELECTCOUNT(CNO)FROMCOURSE1WHERECHOUR>40
--C.
selectCNAME,CHOUR,TNAME,thourFROMCOURSE1C1,TEACHERTR,tcourseTE
WHEREC1.CNO=TE.CNOANDTR.TID=TE.TIDANDTE.tyear=2012
--D.
DELETECOURSE1WHERECNONOTIN(SELECTCNOFROMtcourse)
--3.
CREATEVIEWQL
as
SELECTTNAME,CNAME,thourFROMCOURSE1C1,TEACHERTR,tcourseTE
WHEREC1.CNO=TE.CNOANDTR.TID=TE.TIDANDTE.tyear=2014
SELECT*FROMQL
我用的資料庫是SQL2008 R2,已測試。