版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第4章創(chuàng)建和使用表4.1表的基本概念4.2以命令方式創(chuàng)建SQLServe表4.3以圖形界面方式創(chuàng)建SQLServe表4.4以命令方式操作SQLServe表數(shù)據(jù)4.5以圖形界面方式操作SQLServe表數(shù)據(jù)
1SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念4.1.1表和表結構表是SQLServer中最基本的數(shù)據(jù)庫對象,用于存儲數(shù)據(jù)的一種邏輯結構,由行和列組成,它又稱為二維表。例如,在學生成績管理系統(tǒng)中的學生表(student),如表4.1所示。表4.1學生表(student)2學號姓名
性別出生日期專業(yè)總學分121001李賢友
男1991-12-30通信52121002周映雪
女1993-01-12通信49121005劉剛
男1992-07-05通信50122001郭德強
男1991-10-23計算機48122002謝萱
女1992-09-11計算機52122004孫婷
女1992-02-24計算機50SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念3(1)表表是數(shù)據(jù)庫中存儲數(shù)據(jù)的數(shù)據(jù)庫對象,每個數(shù)據(jù)庫包含了若干個表,表由行和列組成。例如,表.1由6行6列組成。(2)表結構每個表具有一定的結構,表結構包含一組固定的列,由數(shù)據(jù)類型、長度、允許Null值等組成。(3)記錄每個表包含若干行數(shù)據(jù),表中一行稱為一個記錄(Record)。表4.1有6個記錄。(4)字段表中每列稱為字段(Field),每個記錄由若干個數(shù)據(jù)項(列)構成,構成記錄的每個數(shù)據(jù)項就稱為字段。表4.1有6個字段。(5)空值空值(Null)通常表示未知、不可用或?qū)⒃谝院筇砑拥臄?shù)據(jù)。SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念(6)關鍵字
關鍵字用于唯一標識記錄,如果表中記錄的某一字段或字段組合能唯一標識記錄,則該字段或字段組合稱為候選關鍵字(CandidateKey)。如果一個表有多個候選關鍵字,則選定其中的一個為主關鍵字(PrimaryKey),又稱為主鍵。表4.1的主鍵為“學號”。4SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念4.1.2系統(tǒng)數(shù)據(jù)類型創(chuàng)建數(shù)據(jù)庫最重要的一步為創(chuàng)建其中的數(shù)據(jù)表,創(chuàng)建數(shù)據(jù)表必須定義表結構和設置列的數(shù)據(jù)類型、長度等,下面,我們介紹SQLServer系統(tǒng)數(shù)據(jù)類型,如表4.2所示。5SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念1.整數(shù)型整數(shù)包括bigint、int、smallint和tinyint4類?!?/p>
bigint(大整數(shù))精度為19位,長度為8字節(jié),數(shù)值范圍為-263~263-1。●int(整數(shù))精度10位,長度為4字節(jié),數(shù)值范圍為-231~231-1?!駍mallint(短整數(shù))精度為10位,長度為2字節(jié),數(shù)值范圍為-215~215–1。●tinyint(微短整數(shù))精度為3位,長度為1字節(jié),數(shù)值范圍為0~255。6SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念2.
精確數(shù)值型
精確數(shù)值型包括decimal和numeric兩類,這兩種數(shù)據(jù)類型在SQLServer2008中,在功能上是完全等價的。精確數(shù)值型數(shù)據(jù)由整數(shù)部分和小數(shù)部分構成,可存儲從-1038+1到1038–1的固定精度和小數(shù)位的數(shù)字數(shù)據(jù),它存儲長度最少為5字節(jié),最多為17字節(jié)。精確數(shù)值型數(shù)據(jù)的格式是:numeric|decimal(p[,s])其中p為精度,s為小數(shù)位數(shù),s的缺省值為0。例如指定某列為精確數(shù)值型,精度為7,小數(shù)位數(shù)為2,則為decimal(7,2)。7SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念3.浮點型浮點型又稱近似數(shù)值型,近似數(shù)值數(shù)據(jù)類型包括float[(n)]和real兩類,這兩類通常都使用科學記數(shù)法表示數(shù)據(jù)??茖W記數(shù)法的格式為:尾數(shù)E階數(shù)
其中,階數(shù)必須為整數(shù)。例如,4.804E9,3.682-E6,78594E-8等都是浮點型數(shù)據(jù)?!駌eal精度為7位,長度為4字節(jié),數(shù)值范圍為-3.40E+38~3.40E+38?!駀loat[(n)]當n在1~24之間時,精度為7位,長度為4字節(jié),數(shù)值范圍為-3.40E+38~3.40E+38。當n在25~53之間時,精度為15位,長度為8字節(jié),數(shù)值范圍為-1.79E+308~1.79E+308。8SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念4.貨幣型處理貨幣的數(shù)據(jù)類型有money和smallmoney,它們用十進制數(shù)表示貨幣值?!駇oney精度為19,小數(shù)位數(shù)為4、長度為8字節(jié),數(shù)值范圍為-263~263-1?!駍mallmoney精度為10,小數(shù)位數(shù)為4、長度為4字節(jié),數(shù)值范圍–231~231–1。5.位型SQLServer中的位(bit)型數(shù)據(jù)只存儲0和1,長度為一個字節(jié),相當于其它語言中的邏輯型數(shù)據(jù)。當一個表中有小于8位的bit列,將作為一個字節(jié)存儲,如果表中有9到16位bit列,將作為兩個字節(jié)存儲,依此類推。當為bit類型數(shù)據(jù)賦0時,其值為0;而賦非0時,其值為1。字符串值TRUE和FALSE可以轉換的bit值:TRUE轉換為1,F(xiàn)ALSE轉換為0。9SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念6.字符型字符型數(shù)據(jù)用于存儲字符串,字符串中可包括字母數(shù)字和其它特殊符號。在輸入字符串時,需將串中的符號用單引號或雙引號括起來,如'def'、"Def<Ghi"?!馽har[(n)]
固定長度字符數(shù)據(jù)類型,其中n定義字符型數(shù)據(jù)的長度,n在1~8000之間,默認值為1。若輸入字符串長度小于n時,則系統(tǒng)自動在它的后面添加空格以達到長度n。例如某列的數(shù)據(jù)類型為char(100),而輸入的字符串為"NewYear2013",則存儲的是字符NewYear2013和89個空格。若輸入字符串長度大于n,則截斷超出的部分。當列值的字符數(shù)基本相同時可采用數(shù)據(jù)類型char[(n)]。10SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念●
varchar[(n)]可變長度字符數(shù)據(jù)類型,其中n的規(guī)定與定長字符數(shù)據(jù)類型char[(n)]中n完全相同,與char[(n)]不同的是varchar(n)數(shù)據(jù)類型的存儲空間隨列值的字符數(shù)而變化。例如,表中某列的數(shù)據(jù)類型為varchar(100),而輸入的字符串為"NewYear2013",則存儲的字符NewYear2013的長度為11字節(jié),其后不添加空格,因而varchar(n)數(shù)據(jù)類型可以節(jié)省存儲空間,特別在列值的字符數(shù)顯著不同時。11SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念7.Unicode字符型Unicode是“統(tǒng)一字符編碼標準”,用于支持國際上非英語語種的字符數(shù)據(jù)的存儲和處理。Unicode字符型包括nchar[(n)]和nvarchar[(n)]兩類。nchar[(n)]、nvarchar[(n)]和char[(n)]、varchar(n)類似,只是前者使用Unicode字符集,后者使用ASCII字符集。●
nchar[(n)]
固定長度Unicode數(shù)據(jù)的數(shù)據(jù)類型,n的取值為1~4000,長度為2n字節(jié),若輸入的字符串長度不足n,將以空白字符補足?!?/p>
nvarchar[(n)]可變長度Unicode數(shù)據(jù)的數(shù)據(jù)類型,n的取值為1~4000,長度是所輸入字符個數(shù)的兩倍。12SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念
8.文本型由于字符型數(shù)據(jù)的最大長度為8000個字符,當存儲超出上述長度的字符數(shù)據(jù)(如較長的備注、日志等),即不能滿足應用需求,此時需要文本型數(shù)據(jù)。文本型包括text和ntext兩類,分別對應ASCII字符和Unicode字符。9.二進制型二進制數(shù)據(jù)類型表示的是位數(shù)據(jù)流,包括binary(固定長度)和varbinary(可變長度)兩種。13SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念10.日期時間類型●datetimedatetime類型可表示的日期范圍從1753年1月1日到9999年12月31日的日期和時間數(shù)據(jù),精確度為百分之三秒(3.33毫秒或0.00333秒)。datetime類型數(shù)據(jù)長度為8字節(jié),日期和時間分別使用4個字節(jié)存儲。前4字節(jié)用于存儲基于1900年1月1日之前或之后的天數(shù),正數(shù)表示日期在1900年1月1日之后,負數(shù)則表示日期在1900年1月1日之前。后4個字節(jié)用于存儲距12:00(24小時制)的毫秒數(shù)。默認的日期時間是January1,190012:00A.M。可以接受的輸入格式有:January102012、Jan102012、JAN102012、January10,2012等。●smalldatetimeSmalldatetime與datetime數(shù)據(jù)類型類似,但日期時間范圍較小,表示從1900年1月1日到2079年6月6日的日期和時間,存儲長度為4字節(jié)。14SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念●datedate類型可表示從公元元年1月1日到9999年12月31日期,表示形式與datetime數(shù)據(jù)類型的日期部分相同,只存儲日期數(shù)據(jù),不存儲時間數(shù)據(jù),存儲長度為3個字節(jié)?!駎ime
time數(shù)據(jù)類型只存儲時間數(shù)據(jù),表示格式為“hh:mm:ss[.nnnnnnn]”。hh表示小時,范圍為0到23。mm表示分鐘,范圍為0到59。ss表示秒數(shù),范圍為0到59。n是0到7位數(shù)字,范圍為0到9999999,表示秒的小數(shù)部分,即微秒數(shù)。所以time數(shù)據(jù)類型的取值范圍為00:00:00.0000000到23:59:59.9999999。time類型的存儲大小為5個字節(jié)。另外可以自定義time類型微秒數(shù)的位數(shù),例如time(1)表示小數(shù)位為1,默認為7。15SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念●datetime2新的datetime2數(shù)據(jù)類型和datetime類型一樣,也用于存儲日期和時間信息。但是datetime2類型取值范圍更廣,日期部分取值范圍從公元元年1月1日到9999年12月31日,時間部分的取值范圍從00:00:00.0000000到23:59:59.999999。另外,用戶還可以自定義datetime2數(shù)據(jù)類型中微秒數(shù)的位數(shù),例如datetime(2)表示小數(shù)位數(shù)為2?!?/p>
datetimeoffsetdatetimeoffset數(shù)據(jù)類型也用于存儲日期和時間信息,取值范圍與datetime2類型相同。但datetimeoffset類型具有時區(qū)偏移量,此偏移量指定時間相對于協(xié)調(diào)世界時(UTC)偏移的小時和分鐘數(shù)。datetimeoffset的格式為“YYYY-MM-DDhh:mm:ss[.nnnnnnn][{+|-}hh:mm]”,其中hh為時區(qū)偏移量中的小時數(shù),范圍為00到14,mm為時區(qū)偏移量中的額外分鐘數(shù),范圍為00到59。16SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念11.時間戳型反映系統(tǒng)對該記錄修改的相對(相對于其他記錄)順序,標識符是timestamp,timestamp類型數(shù)據(jù)的值是二進制格式數(shù)據(jù),其長度為8字節(jié)。若創(chuàng)建表時定義一個列的數(shù)據(jù)類型為時間戳類型,那么每當對該表加入新行或修改已有行時,都由系統(tǒng)自動將一個計數(shù)器值加到該列,即將原來的時間戳值加上一個增量。12.圖像數(shù)據(jù)類型用于存儲圖片、照片等,標識符為image,實際存儲的是可變長度二進制數(shù)據(jù),介于0與231-1(2,147,483,647)字節(jié)之間。13.其它數(shù)據(jù)類型●cursor游標數(shù)據(jù)類型,用于創(chuàng)建游標變量或定義存儲過程的輸出參數(shù)17SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念●sql_variant一種存儲SQLServer支持的各種數(shù)據(jù)類型(除text、ntext、image、timestamp和sql_variant外)值的數(shù)據(jù)類型。●table
用于存儲結果集的數(shù)據(jù)類型,結果集可以供后續(xù)處理?!?/p>
uniqueidentifier唯一標識符類型,系統(tǒng)將為這種類型的數(shù)據(jù)產(chǎn)生唯一標識值?!?/p>
xml用來在數(shù)據(jù)庫中保存xml文檔和片段的一種類型,文件大小不能超過2GB?!?/p>
hierarchyidhierarchyid數(shù)據(jù)類型是SQLServer新增加的一種長度可變的系統(tǒng)數(shù)據(jù)類型,可使用hierarchyid表示層次結構中置。18SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念4.1.3表結構設計創(chuàng)建表的核心是定義表結構及設置表和列的屬性,創(chuàng)建表以前,首先要確定表名和表的屬性,表所包含的列名、列的數(shù)據(jù)類型、長度、是否為空、是否主鍵等,這些屬性構成表結構。我們以學生成績管理系統(tǒng)的student(學生表)、course(課程表)、score(成績表)、teacher(教師表)為例介紹表結構設計。學生表student包含stno,stname,stsex,stbirthday,speciality,tc等列,其中,stno列是學生的學號,例如121001中12表示學生入學年代為2012年,10表示學生的班級,01表示學生的序號,所以stno列的數(shù)據(jù)類型選定長的字符型char[(n)],n的值為6,不允許空;stname列是學生的姓名,姓名一般不超過4個中文字符,所以選定長的字符型數(shù)據(jù)類型,n的值為8,不允許空;stsex列是學生的出生日期,選date數(shù)據(jù)類型,不允許空;19SQLServer數(shù)據(jù)庫教程(第3版)4.1表的基本概念speciality列是學生的專業(yè),選定長的字符型數(shù)據(jù)類型n的值為12,允許空;tc列是學生的總學分,選整數(shù)型數(shù)據(jù)類型,不允許空。在student表中,只有stno列能唯一標識一個學生,所以將stno列設為主鍵。student的表結構設計如表4.3所示。表4.3student表的表結構20SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表4.2.1創(chuàng)建表使用CREATETABLE語句創(chuàng)建表。語法格式:
CREATETABLE
[database_name.[schema_name].|schema_name.]table_name({<column_definition>|column_nameAScomputed_column_expression[PERSISTED[NOTNULL]]}[<table_constraint>][,...n])[ON{partition_scheme_name(partition_column_name)|filegroup|"default"}][{TEXTIMAGE_ON{filegroup|"default"}][FILESTREAM_ON{partition_scheme_name|filegroup|"default"}][WITH(<table_option>[,...n])][;]
21SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表<column_definition>::=column_namedata_type[FILESTREAM][COLLATEcollation_name][NULL|NOTNULL][[CONSTRAINTconstraint_name]DEFAULTconstant_expression]|[IDENTITY[(seed,increment)][NOTFORREPLICATION]][ROWGUIDCOL] [<column_constraint>[...n]] [SPARSE]
22SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表說明:(1)database_name是數(shù)據(jù)庫名,schema_name是表所屬架構名,table_name是表名。如果省略數(shù)據(jù)庫名則默認在當前數(shù)據(jù)庫中創(chuàng)建表,如果省略架構名,則默認是“dbo”。(2)<column_definition>列定義:
●
column_name為列名,data_type為列的數(shù)據(jù)類型。
●
FILESTREAM是SQLServer2008引進的一項新特性,允許以獨立文件的形式存放大對象數(shù)據(jù)。
●
NULL|NOTNULL:確定列是否可取空值。
●
DEFAULTconstant_expression:為所在列指定默認值。
●
IDENTITY:表示該列是標識符列。
23SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表
●ROWGUIDCOL:表示新列是行的全局唯一標識符列。
●
<column_constraint>:列的完整性約束,指定主鍵、外鍵等。
●
SPARSE:指定列為稀疏列。(3)column_nameAScomputed_column_expression[PERSISTED[NOTNULL]]:用于定義計算字段。(4)<table_constraint>:表的完整性約束。(5)ON子句:filegroup|"default"指定存儲表的文件組。(6)TEXTIMAGE_ON{filegroup|"default"}:TEXTIMAGE_ON指定存儲text、ntext、image、xml、varchar(MAX)、nvarchar(MAX)、varbinary(MAX)和CLR用戶定義類型數(shù)據(jù)的文件組。(7)FILESTREAM_ON子句:filegroup|"default"指定存儲FILESTREAM數(shù)據(jù)的文件組。
24SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表【例4.1】使用T-SQL語句,在stsc數(shù)據(jù)庫中創(chuàng)建student表、score表。USEstscCREATETABLEstudent(stnochar(6)NOTNULLPRIMARYKEY,stnamechar(8)NOTNULL,stsexchar(2)NOTNULL,stbirthdaydateNOTNULL,specialitychar(12)NULL,tcintNULL)GO
25SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表上述語句中的GO命令不是Transact-SQL語句,它是由SQLServerManagementStudio代碼編輯器識別的命令。SQLServer實用工具將GO解釋為應該向SQLServer實例發(fā)送當前批Transact-SQL語句的信號。當前批語句由上一條GO命令后輸入的所有語句組成,如果是第一條GO命令,則由會話或腳本開始后輸入的所有語句組成。GO命令和Transact-SQL語句不能在同一行中,但在GO命令行中可包含注釋。
26SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表在stsc數(shù)據(jù)庫中創(chuàng)建score表語句如下:USEstscCREATETABLEscore(stnochar(6)NOTNULL,cnochar(3)NOTNULL,gradeintNULL,PRIMARYKEY(stno,cno))GO
27
SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表【例4.2】在test數(shù)據(jù)庫中創(chuàng)建clients表。USEtestCREATETABLEclients(cidint,cnamechar(8),csexchar(2),addresschar(40))
28SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表2.由其它表創(chuàng)建新表使用SELECTINTO語句創(chuàng)建一個新表,并用SELECT的結果集填充該表。語法格式:
SELECT列名表INTO表1FROM表2該語句的功能是由“表2”的“列名表”來創(chuàng)建新表“表1”?!纠?.3】在stsc數(shù)據(jù)庫中,由student表創(chuàng)建student1表。USEstscSELECTstno,stname,stbirthdayINTOstudent1FROMstudent29SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表4.2.2修改表語法格式:ALTERTABLEtable_name{ALTERCOLUMNcolumn_name {new_data_type[(precision,[,scale])][NULL|NOTNULL] |{ADD|DROP}{ROWGUIDCOL|PERSISTED|NOTFORREPLICATION|SPARSE}}/ |ADD{[<colume_definition>]}[,…n] |DROP{[CONSTRAINT]constraint_name|COLUMNcolumn}[,…n]}說明:
●table_name為表名。●ALTERCOLUMN子句:修改表中指定列的屬性?!馎DD子句:增加表中的列?!馜ROP子句:刪除表中的列或約束。30SQLServer數(shù)據(jù)庫教程(第3版)4.2以命令方式創(chuàng)建SQLServe表【例4.4】在student1表中新增加一列remarks。
USEstscALTERTABLEstudent1ADDremarkschar(10)
4.2.3刪除表使用DROPTABLE語言刪除表。語法格式:
DROPTABLEtable_name
其中,table_name是要刪除的表的名稱?!纠?.5】刪除stsc數(shù)據(jù)庫中student1表。
USEstscDROPTABLEstudent131SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表1.創(chuàng)建表【例4.6】在stsc數(shù)據(jù)庫中創(chuàng)建student表(學生表)。操作步驟如下:(1)啟動“SQLServerManagementStudio”,在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,選中“stsc”數(shù)據(jù)庫,展開該數(shù)據(jù)庫,選中表,單擊鼠標右鍵,在彈出的快捷菜單中,選擇“新建表”命令,如圖4.1所示。32SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表(2)屏幕出現(xiàn)表設計器窗口,根據(jù)已經(jīng)設計好student的表結構分別輸入或選擇各列的數(shù)據(jù)類型、長度、允許Null值,根據(jù)需要,可以在每列的”列屬性”表格填入相應內(nèi)容,輸入完成后的結果如圖4.2所示。33SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表(3)在“stno”行上右擊鼠標,在彈出的快捷菜單選擇“設置主鍵”命令,如圖4.3所示,此時,“stno”左邊會出現(xiàn)一個鑰匙圖標。34SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表(4)單擊工具欄中的“保存”按鈕,出現(xiàn)“選擇名稱”對話框,輸入表名“student”,如圖4.4所示,單擊“確定”按鈕即可創(chuàng)建student表,如圖4.5所示。圖4.4設置表的名稱圖4.5創(chuàng)建student表35SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表2.修改表為了在進行表的修改時不必刪除原表,需要進行的操作如下:在“SQLServerManagementStudio”面板中單擊“工具”主菜單,選擇“選項”子菜單,在出現(xiàn)的“選項”窗口中展開“Designers”,選擇“表設計器和數(shù)據(jù)庫設計器”選項卡,將窗口右面的“阻止保存要求重新創(chuàng)建表的更改”復選框前的對勾去掉,單擊“確定”按鈕,就可進行表的修改了。36SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表【例4.7】在student表中增加一列stclass(班級)在tc列之前,然后刪除該列。(1)啟動“SQLServerManagementStudio”,在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,選中“stsc”數(shù)據(jù)庫,展開該數(shù)據(jù)庫,選中表,將其展開,選中表“dbo.student”,單擊鼠標右鍵,在彈出的快捷菜單中選擇“設計”命令,打開“表設計器”窗口,為在tc列之前加入新列,右擊該列,在彈出的快捷菜單中選擇“插入列”命令,如圖4.6所示。37SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表(2)在“表設計器”窗口中的tc列前出現(xiàn)空白行,輸入列名“stclass”,選擇數(shù)據(jù)類型“char(6)”,允許空,如圖4.7所示,完成插入新列操作。38SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表(3)在“表設計器”窗口中選擇需刪除的stclass列,右擊鼠標,在彈出的快捷菜單中選擇“刪除列”命令,該列即被刪除,如圖4.8所示。39SQLServer數(shù)據(jù)庫教程(第3版)4.3以圖形界面的方式創(chuàng)建SQLServe表【例4.8】將def表(已創(chuàng)建)表名修改為xyz表。(1)啟動“SQLServerManagementStudio”,在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,選中“stsc”數(shù)據(jù)庫,展開該數(shù)據(jù)庫,選中表,將其展開,選中表“dbo.def”,單擊鼠標右鍵,在彈出的快捷菜單中選擇“重命名”命令。(2)此時,表“dbo.def”的名稱已變?yōu)榭删庉?,將名稱修改“dbo.xyz”,修改表名完成。3.刪除表【例4.9】刪除xyz表(已創(chuàng)建)。(1)啟動“SQLServerManagementStudio”,在“對象資源管理器”中展開“數(shù)據(jù)庫”節(jié)點,選中“stsc”數(shù)據(jù)庫,展開該數(shù)據(jù)庫,選中表,將其展開,選中表“dbo.xyz”,單擊鼠標右鍵,在彈出的快捷菜單中選擇“刪除”命令。(2)系統(tǒng)彈出“刪除對象”窗口,單擊“確定”按鈕,即可刪除xyz表。40SQLServer數(shù)據(jù)庫教程(第3版)4.4以命令方式操作SQLServe表數(shù)據(jù)
4.4.1插入語句
語法格式:
INSERT[TOP(expression)[PERCENT]][INTO]{table_name/*表名*/|view_name /*視圖名*/|rowset_function_limited/*可OPENQUERY或OPENROWSET函數(shù)*/[WITH(<table_hint_limited>[…n])]/*指定表提示,可省略*/}{[(column_list)] /*列名表*/{VALUES(({DEFAULT|NULL|expression}[,...n])[,...n]) /*指定列值的value子句*/|derived_table /*結果集*/|execute_statement /*有效的EXECTUTE語句*/|DEFAULTVALUES /*強制新行包含為每個列定義的默認值*/}}41SQLServer數(shù)據(jù)庫教程(第3版)
4.4以命令方式操作SQLServe表數(shù)據(jù)說明:●table_name:被操作的表名。●view_name:視圖名?!馽olumn_list:列名表,包含了新插入數(shù)據(jù)行的各列的名稱。如果只給出表的部分列插入數(shù)據(jù)時,需要用column_list指出這些列?!馰ALUES子句:包含各列需要插入的數(shù)據(jù),數(shù)據(jù)的順序要與列的順序相對應。若省略colume_list,則VALUES子句給出每一列(除IDENTITY屬性和timestamp類型以外的列)的值。VALUES子句中的值有三種:DEFAULT:指定為該列的默認值,這要求定義表時必須指定該列的默認值。NULL:指定該列為空值。expression:可以是一個常量、變量或一個表達式,其值的數(shù)據(jù)類型要與列的數(shù)據(jù)類型一致。注意表達式中不能有SELECT及EXECUTE語句。42SQLServer數(shù)據(jù)庫教程(第3版)
4.4以命令方式操作SQLServe表數(shù)據(jù)【例4.10】向clients表中插入一個客戶記錄(1,'李君','男','東大街10號')。USEtestINSERTINTOclientsvalues(1,'李君','男','上東大街10號')【例4.11】向student表插入表4.1各行數(shù)據(jù)。USEstscINSERTINTOstudentvalues('1001','李賢友','男','1991-12-30','通信',52),('1002','周映雪','女','1993-01-12','通信',49),('1005','劉剛','男','1992-07-05','通信',50),('2001','郭德強','男','1991-10-23','計算機',48),('2002','謝萱','女','1992-09-11','計算機',52),('2004','孫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 收購公司中介合同范例
- 洋房裝修合同范例
- 借款抵押黃金合同范例
- 家政員培訓合同范例
- 文化類公司合同范例
- 展會延期合同范例
- 國內(nèi)糧食采購合同范例
- 盲人按摩收徒合同范例
- 合作司機合同范例
- 100合同范例打包
- 軟件工程項目預算表-模板
- 2023秋國開(專)《生產(chǎn)與運作管理》歷屆期末考試試題及答案
- 《機械制圖16螺栓》課件
- 甘肅省定西市普通高中2023-2024學年高一上學期期末學業(yè)質(zhì)量檢測物理試題(含答案解析)
- 銷售人員招聘計劃書
- 產(chǎn)值分析報告
- 《樹莓派應用開發(fā)》課件 第01、2章 樹莓派介紹、樹莓派操作系統(tǒng)
- 24.教育規(guī)劃綱要(2024-2024)
- 模具熱分析報告
- 2024年湖南現(xiàn)代物流職業(yè)技術學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 多西他賽化療方案
評論
0/150
提交評論