SQL语言之数据定义.ppt_第1页
SQL语言之数据定义.ppt_第2页
SQL语言之数据定义.ppt_第3页
SQL语言之数据定义.ppt_第4页
SQL语言之数据定义.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六讲 SQL语言之数据定义,数据库技术,数据库技术,SQL和T-SQL,SQL语言能够提供对数据库的各种操作访问,还能作为一种语言用于数据库应用的开发 Transact-SQL是SQL的增强版本 在SQL Server中使用“查询分析器”执行SQL语句。 SQL语句对大小写不敏感;SQL Server 默认安装的话,对大小写不敏感,数据库技术,SQL语言核心功能和动词,数据定义 create drop alter 数据查询 select 数据操纵 insert update 数据控制 grant revoke,数据库技术,数据定义,关键词:Create、Drop、Alter 1.数据库 2.数据表 3.索引 4.视图(在后面讲述),数据库技术,一.数据库管理语句,1.创建数据库语句create database 语法:create database 数据库名其它参数 例子:create database luna 这时候luna数据库使用默认的设置 语法的代表里面的内容可选。如果想了解create的详细参数可以查看书本或者参考资料,数据库技术,一.数据库管理语句,2.删除drop database 语法:drop database 数据库名,.n 例子:drop database luna drop database luna1,luna2 可以同时删除多个数据库,数据库技术,二.表管理语句,1.创建表 create table 语法: create table 表名 ( 字段1 数据类型 约束条件, 字段2 数据类型 约束条件, . 字段n 数据类型 约束条件 ),数据库技术,二.表管理语句,在create table语句中,共有几种定义 表名的方式,注意表名写法的区别 create table 表名 要用“use语句或直接在查询分析器选择相应的数据库”,如: use database TestDB create table Employee create table 数据库名.属主名.表名 如create table TestDB.dbo.Employee,数据库技术,完整例子,create database TestDB go use TestDB create table Employee ( Emp_Id smallint, Emp_Name varchar(50), Sex char(2), Age smallint, Title varchar(50), Office_phone varchar(30), Mobile_phone varchar(50), Id_Card varchar(30), Wage decimal(18,2), Dep_Id tinyint) go,1.可以使用分号(;) 来标识在一句完整 的sql语句;如果不 使用,sql语句根据 语法结构来判断语 句的结束 2.注意代码的空格 3.Go的作用是执行其 前面的代码;Use用 来选择在那个数据 库进行操作,数据库技术,二.表管理语句,2.添加各种约束 (1)非空约束 NULL/NOT NULL 如果希望某一列必须有数据,在该列的定义后面加上NOT NULL参数。例子如: create table Employee ( Emp_Name varchar(50) NOT NULL, . ) 注意要用空格隔开.那如果允许为空需不需要加上null?,数据库技术,二.表管理语句,(2)主键约束 primary key 语法:constraint constraint_name primary key (列名,) 如: Constraint EmployeePK primary key (Emp_Name), 注意:可以这样 primary key(sno,cno) 如果这样写的话是何种含义?,数据库技术,二.表管理语句,添加主键约束方法: 在某字段数据类型后直接使用“primary key” Emp_Name varchar(50) primary key, 单独添加一行,一般放在最后面 Constraint EmployeePK primary key(Emp_Name), -如果单独添加的一行主键约束放在开头位置的 时候会有可能出现什么情况?,数据库技术,二.表管理语句,(3)唯一性约束unique 语法:constraint constraint_name unique (列名,) 使用方法类似于主键的使用方法,数据库技术,二.表管理语句,(4)外键约束 foreign key 语法:constraint constraint_name Foreign Key (列名) References 主表名(列名) 例子:在student表和sc表,把sc表中的sno字段设置 为student表中sno的外键,这样在sc表可以这样设 置:(单独放一行写法) foreign key (sno) references student(sno),数据库技术,二.表管理语句, 如果写成下面的样子,要表达的含义是 什么: foreign key (sno) references student 会有出错的可能吗?什么情况下会正常?,数据库技术,二.表管理语句, foreign key和副表要出现在适当的位置 经典问题:对应的字段还没出现或者对应的主表 都还没有创建就建立外键关系。,数据库技术,二.表管理语句,也可以这样设置: create table sc ( sno int null references student(sno), ) 建立外键时,如果不是单独放在一行,对单列建立 外键关系可以省略foreign key,数据库技术,二.表管理语句,(5)检查约束check 列级的约束:直接在每一列后面添加 check(约束表达式) 例子: sex char(2) check (sex=男 or sex=女), (引号是英文状态引号) 注意:check()中间的约束表达式不需要加上引号,数据库技术,二.表管理语句, 表级的约束 constraint constraint_name check(约束表达式) 放单独行的写法 注意:如果完整性约束条件涉及到该表的多个属 性列,则必须定义在表级上,否则即可以定义在 列级上也可以定义在表级上,数据库技术,二.表管理语句,(6)默认值约束 default 直接在列后面添加: default(默认值) 例子: sex char(2) default(男), 注意:这里的例子中default()中的内容为什么 需要加上引号,可以不加吗?要跟check 区分开来,数据库技术,二.表管理语句,3.修改表 alter table 语法: alter table 表名 add子句 drop子句 modify子句 alter子句;,数据库技术,二.表管理语句,添加列:add子句 语法:alter table 表名 add 列名 数据类型 约束条件 例子: alter table employee add addr char(20),数据库技术,二.表管理语句,删除列:drop column子句 语法:alter table 表名 drop column 列名,数据库技术,二.表管理语句,添加约束:add constraint子句 语法:alter table 表名 add constraint 约束名 具体约束 例子: alter table employee add constraint addr_p primary key(addr),数据库技术,二.表管理语句,删除约束: drop constraint子句 语法:alter table 表名 drop constraint 约束名 例子: alter table employee drop constraint addr_pk,数据库技术,二.表管理语句,修改列: alter column 语法:alter table 表名 alter column 列名 数据类型 例子: alter table employee alter column addr int,数据库技术,二.表管理语句,4.删除表 drop table 语法:drop table 表名 要首先在查询分析器选中要操作的数据库, 或者使用use命令选择要操作的数据库,数据库技术,三.索引,创建索引 create index 索引名称 on 表名(列名) 删除索引 drop index 索引名称,数据库技术,注意问题,1.“查询分析器”的sql关键字是有颜色的 2.表名、数据库.所有者.表名的区别 3.主键primary key、外键references,唯一性约束unique,检查性约束check和默认default直

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论