您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 数据库设计开发案例教程(四)
CONFIDENTIAL数据库设计开发技术案例教程(四)SQL语言基础2北京亚思晟科技有限公司主要内容1,SQL语言的基础2,数据库视图和索引的操作3,数据库定义语言DDL、操作语言DML和控制语言DCL3北京亚思晟科技有限公司4.1SQL语言介绍按照功能操作分类,SQL语言主要包括数据定义语句、数据库操作语句和数据控制语句。数据定义语句(DataDefinitionLanguage,DDL):可用于定义所存放数据的结构和组织,以及数据型之间的关系,如表、视图、触发器和存储过程(在第七章详细讲解)等。命令主要包括CREATE、ALTER、DROP。数据操作语句(DataMainpulationLanguage,DML):主要包括对数据库中的数据查询、插入、删除、修改操作,命令分别为SELECT,INSERT,DELETE、UPDATE.数据控制语句(DataControlLanguage,DCL):主要包括数据的存取控制和完整性控制,以及防止非法用户对数据库的全程使用和破坏。它提供了GRANT和REVOKE等命令,是对操作的授权控制语句。4北京亚思晟科技有限公司4.2.1创建语句CREATE1、CREATEDATABASE语句CREATEDATABASE用于创建数据库。基本语法:CREATEDATABASEdatabase_name以下示例:现在我们希望创建一个名为Myschool的数据库,我们使用下面的CREATEDATABASE语句CREATEDATABASEMyschool4.2SQL的数据定义语言DDL图4-1创建数据库5北京亚思晟科技有限公司首先我们先单击一下新建查询,如图4-1所示。然后左边的部分变为,如图4-2所示。图4-26北京亚思晟科技有限公司在右面的空白部分输入:CREATEDATABASEMyschool。如图4-3所示。7北京亚思晟科技有限公司单击执行按钮,下方消息栏显示“命令已成功完成”后,展开数据库,可以看见如图4-4所示。图4-48北京亚思晟科技有限公司Myschool的数据库便成功建成。2、CREATETABLE语句1)使用SQLServerManagementStudio创建表(1)启动SQLServerManagementStudio,在“对象资源管理器”窗口中,依次展开“数据库”节点,Myschool节点。右键单击“表”,从弹出的快捷菜单中选择“新建表”命令,系统弹出如下图4-5所示。图4-59北京亚思晟科技有限公司(2)在表设计器窗口的上半部分输入列的基本属性,包括列名、数据类型以及是否允许为空值(打勾说明为空值,空白说明不允许为空值,默认允许为空值)。(3)在表设计器下半部分的“列属性”的选型卡中指定列的详细属性,包括是否为标识列、是否使用默认值、为数据类型指定长度等。如图4-6所示。图4-610北京亚思晟科技有限公司(4)单击工具栏上的“保存”按钮,弹出“选择名称”对话框,如下图所示,输入表名,单击“确定”按钮即可完成表的建立。如果在该数据库中已经存在同名的表存在,系统会弹出警告对话框,用户可以改名重新进行保存。如图4-7所示。11北京亚思晟科技有限公司2).使用Transact-SQL语句创建表结构CREATETABLE[database_name.[schema_name].[schema_name]table_name(column_name1data_type[DEFAULTconstant_expression][IDENTITY(SEED,INCREMENT)][NULL|NOTNULL])[,…])[ON{filegroup|DEFAULT}]以下示例:我们用这种方式,再次建立Grade这张表(Class表中的字段关联着Grade表,用Transact-SQL语句创建)新建查询,在右面的空白部分输入CREATETABLE[dbo].[Grade]([GradeId][int]IDENTITY(1,1)NOTNULL,[GradeName][varchar](50)NOTNULL,CONSTRAINT[PK_Grade]PRIMARYKEYCLUSTERED([GradeId]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO12北京亚思晟科技有限公司4.2.2修改语句ALTER1.ALTERDATABASE语句1).使用SQLServerManagementStudio修改数据库进入SQLServerManagementStudio,在“对象资源管理器”窗口中选中要修改的数据库,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,即可加入Myschool数据库的属性窗口。如图4-8所示。13北京亚思晟科技有限公司(1).在“常规”中显示了Myschool数据库的基本信息,如上图所示。(2).在“文件”可以添加、删除数据库文件以及修改数据库文件的相关属性。(3).在“文件组”可以添加、删除文件组以及修改文件组的属性。(4).在“选项”中,可以控制数据库是单用户使用模式还是多用户使用模式,以及此数据库是否仅可读等,还可以设置此数据库是否自动关闭、自动收缩和数据可以的兼容级别等选项,如图4-9所示。14北京亚思晟科技有限公司2)使用Transact-SQL语句修改数据库ALTERDATABASEdb_name{ADDFILEfilespec[,…n][TOFILEGROUPfilegroup_name]|ADDLOGFILEfilespec[,…n]|REMOVEFILElogical_file_name|ADDFILEGROUPfilegroup_name|REMOVEFILEGROUPfilegroup_name|MODIFYFILEfilespec|MODIFYNAME=new_dbname|MODIFYFILEGROUPfilegroup_name{filegroup_property|NAME=new_filegroup_name}}ADDFILEfilespec[,…n][TOFILEGROUPfilegroup_name]:表示向指定的文件组添加新的数据文件。ADDLOGFILEfilespec[,…n]:添加新的事物日志文件。REMOVEFILElogical_file_name:删除某一文件。ADDFILEGROUPfilegroup_name:添加一个文件组。REMOVEFILEGROUPfilegroup_name:删除某一文件组。MODIFYFILEfilespec:修改某个文件的属性。MODIFYNAME=new_dbname:修改数据库的名字。MODIFYFILEGROUPfilegroup_name|filegroup_property|NAME=new_filegroup_name}:修改某一文件组的属性。以下实例:将MySchool数据库的名称改成MyCollege。USEmaster;GOALTERDATABASEMySchoolModifyName=MyCollege;GO15北京亚思晟科技有限公司16北京亚思晟科技有限公司2.ALTERTABLE1.使用SQLServerManagementStudio修改表结构1)打开SQLServerManagementStudio,在“对象资源管理器”窗口中,依次展开“数据库”节点,Myschool节点,表的节点,右键单击要修改结构的表Class,从弹出的快捷菜单中选择“修改”命令,如图4-11所示。此时,将打开表设计器窗口。如图4-12所示。图4-1117北京亚思晟科技有限公司18北京亚思晟科技有限公司2)如果要增加一列,首先选择新增列所在的位置,然后单击右键,然后在系统弹出的快捷菜单中选择“插入列”命令,如图4-13所示。这是在选定列的前面会出现一个空行,在空行中输入新增列的信息。如图4-14所示。19北京亚思晟科技有限公司3)如果要删除一列,右键单击要删除的列,在系统弹出的快捷菜单中选择“删除列”命令。如图4-15所示。图4-1520北京亚思晟科技有限公司4)如果要修改某一列的名称、数据类型、数据长度以及是否为空值,可以直接在表设计器上修改。如图4-16所示。图4-1621北京亚思晟科技有限公司5)修改完成后,单击工具栏上的“保存”按钮即可。如图4-17所示。图4-1722北京亚思晟科技有限公司2).使用Transact-SQL语句修改表结构ALTERTABLEtable_name{ADDcolumn_namedate_type[DEFAULTcontant_expression][IDENTITY(SEED,INCREMENT)][NULL|NOTNULL]|DROPCOLUMNcolumn_name|ALTERCOLUMNcolumn_namenew_datetype[NULL|NOTNULL]}以下示例:在Class中添加一列较createtime字段ALTERTABLEClassADDcreatetimedatetimeNULL显示结果如图4-18所示。图4-1823北京亚思晟科技有限公司图4-19在表中删除createtime列ALTERTABLEClassDROPCOLUMNcreatetime显示结果如图4-19所示。24北京亚思晟科技有限公司4.2.3丢弃语句DROP图4-201.DROPDATABASE当一个数据库不再需要可以将其删除,以释放该数据库所占有的磁盘空间。但是应该注意的是,如果某个数据库正在被使用,则无法对其进行删除操作。1)使用SQLServerManagementStudio删除数据库进入SQLServerManagementStudio,在“对象资源管理器”窗口中右键单击要删除的数据库,如Myschool,从弹出的快捷菜单中选择“删除”命令,系统会弹出“删除对象”窗口,如下图4-20所示。单击确定完成对Myschool的删除。2)使用Transact-SQL语句删除数据库删除数据库的SQL语句的语法格式为:DROPDATABASEdatabase_name以下示例:删除数据库MyschoolDROPDATABASEMyschool25北京亚思晟科技有限公司4.2.3丢弃语句DROP图4-212.DROPTABLE1)使用SQLServerManagementStudio删除表(1)打开SQLServerManagementStudio,在“对象资源管理器”窗口中,依次展开“数据库”节点,Myschool节点,表的节点。(2)选择要删除的表,单击鼠标右键,从弹出的快捷菜单中选择“删除“命令。如图4-21所示。(3)系统会打开“删除对象”窗口,如图4-22所示,在该窗口中列出了将被删除的表,单击“确定”按钮即可完成指定标的删除操作。26北京亚思晟科技有限公司4.2.3丢弃语句DROP图4-222)使用Transact-SQL语句删除表DROPTABLEtable_name1[,…n]例如将Class表删除DROPTABLEClass27北京亚思晟科技有限公司4.2.4表的截断语句TRUNCATE图4-23TRUNCATETABLE删除表中的所有行,而不记录单个行删除操作。语法:TRUNCATETABLEname参数:name是要截断的表的名称或要删除其全部行的表的名称。注释:TRUNCATETABLE在功能上与不带WHERE子句的DELETE语句相同:二者均删除表中的全部行。但TRUNCATETABLE比DELETE速度快,且使用的系统和事务日志资源少。以下示例:删除Class表中的所有数据。TRUNCATETABLEClass
本文标题:数据库设计开发案例教程(四)
链接地址:https://www.777doc.com/doc-3665481 .html