资源描述:
《SQL语言之数据定义.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六讲SQL语言之数据定义数据库技术SQL和T-SQLSQL语言能够提供对数据库的各种操作访问,还能作为一种语言用于数据库应用的开发Transact-SQL是SQL的增强版本在SQLServer中使用“查询分析器”执行SQL语句。SQL语句对大小写不敏感;SQLServer默认安装的话,对大小写不敏感数据库技术SQL语言核心功能和动词数据定义createdropalter数据查询select数据操纵insertupdate数据控制grantrevoke数据库技术数据定义关键词:Create、Dr
2、op、Alter1.数据库2.数据表3.索引4.视图(在后面讲述)数据库技术一.数据库管理语句1.创建数据库语句createdatabase语法:createdatabase数据库名[其它参数]例子:createdatabaseluna这时候luna数据库使用默认的设置语法的[]代表里面的内容可选。如果想了解create的详细参数可以查看书本或者参考资料数据库技术一.数据库管理语句2.删除dropdatabase语法:dropdatabase数据库名[,...n]例子:dropdatabasel
3、unadropdatabaseluna1,luna2可以同时删除多个数据库数据库技术二.表管理语句1.创建表createtable语法:createtable表名(字段1数据类型[约束条件],字段2数据类型[约束条件],.......字段n数据类型[约束条件])数据库技术二.表管理语句在createtable语句中,共有几种定义表名的方式,注意表名写法的区别①createtable表名要用“use语句或直接在查询分析器选择相应的数据库”,如:usedatabaseTestDBcreatetabl
4、eEmployee②createtable数据库名.属主名.表名如createtableTestDB.dbo.Employee数据库技术完整例子createdatabaseTestDBgouseTestDBcreatetableEmployee(Emp_Idsmallint,Emp_Namevarchar(50),Sexchar(2),Agesmallint,Titlevarchar(50),Office_phonevarchar(30),Mobile_phonevarchar(50),Id_C
5、ardvarchar(30),Wagedecimal(18,2),Dep_Idtinyint)go1.可以使用分号(;)来标识在一句完整的sql语句;如果不使用,sql语句根据语法结构来判断语句的结束2.注意代码的空格3.Go的作用是执行其前面的代码;Use用来选择在那个数据库进行操作数据库技术二.表管理语句2.添加各种约束(1)非空约束NULL/NOTNULL如果希望某一列必须有数据,在该列的定义后面加上NOTNULL参数。例子如:createtableEmployee(……Emp_Namev
6、archar(50)NOTNULL,…….)注意要用空格隔开.那如果允许为空需不需要加上null?数据库技术二.表管理语句(2)主键约束primarykey语法:[constraintconstraint_name]primarykey(列名,…)如:①ConstraintEmployeePKprimarykey(Emp_Name),②注意:可以这样primarykey(sno,cno)如果这样写的话是何种含义?数据库技术二.表管理语句添加主键约束方法:①在某字段数据类型后直接使用“primar
7、ykey”Emp_Namevarchar(50)primarykey,②单独添加一行,一般放在最后面ConstraintEmployeePKprimarykey(Emp_Name),--如果单独添加的一行主键约束放在开头位置的时候会有可能出现什么情况?数据库技术二.表管理语句(3)唯一性约束unique语法:[constraintconstraint_name]unique(列名,…)使用方法类似于主键的使用方法数据库技术二.表管理语句(4)外键约束foreignkey语法:[constrain
8、tconstraint_name]ForeignKey(列名)References主表名(列名)例子:在student表和sc表,把sc表中的sno字段设置为student表中sno的外键,这样在sc表可以这样设置:(单独放一行写法)foreignkey(sno)referencesstudent(sno)数据库技术二.表管理语句①如果写成下面的样子,要表达的含义是什么:foreignkey(sno)referencesstudent会有出错的可能吗?什么情况下会正常?数据库技术二.表管理语句②