第六讲 SQL语言之数据定义.ppt

上传人:李朗 文档编号:388914 上传时间:2018-10-12 格式:PPT 页数:30 大小:677.50KB
下载 相关 举报
第六讲 SQL语言之数据定义.ppt_第1页
第1页 / 共30页
第六讲 SQL语言之数据定义.ppt_第2页
第2页 / 共30页
第六讲 SQL语言之数据定义.ppt_第3页
第3页 / 共30页
第六讲 SQL语言之数据定义.ppt_第4页
第4页 / 共30页
第六讲 SQL语言之数据定义.ppt_第5页
第5页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第六讲 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、Alter1.数据库2.数据表3

2、.索引4.视图(在后面讲述),数据库技术,一.数据库管理语句,1.创建数据库语句create database 语法:create database 数据库名其它参数 例子:create database luna这时候luna数据库使用默认的设置语法的代表里面的内容可选。如果想了解create的详细参数可以查看书本或者参考资料,数据库技术,一.数据库管理语句,2.删除drop database 语法:drop database 数据库名,.n 例子:drop database lunadrop database luna1,luna2可以同时删除多个数据库,数据库技术,二.表管理语句,1.创

3、建表 create table 语法: create table 表名( 字段1 数据类型 约束条件,字段2 数据类型 约束条件,.字段n 数据类型 约束条件 ),数据库技术,二.表管理语句,在create table语句中,共有几种定义表名的方式,注意表名写法的区别 create table 表名 要用“use语句或直接在查询分析器选择相应的数据库”,如:use database TestDBcreate table Employee create table 数据库名.属主名.表名如create table TestDB.dbo.Employee,数据库技术,完整例子,create dat

4、abase 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.注意代码的空格

5、 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 Empl

6、oyeePK 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 const

7、raint_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 (

8、sno) references student会有出错的可能吗?什么情况下会正常?,数据库技术,二.表管理语句, foreign key和副表要出现在适当的位置经典问题:对应的字段还没出现或者对应的主表 都还没有创建就建立外键关系。,数据库技术,二.表管理语句,也可以这样设置:create table sc ( sno int null references student(sno),)建立外键时,如果不是单独放在一行,对单列建立 外键关系可以省略foreign key,数据库技术,二.表管理语句,(5)检查约束check 列级的约束:直接在每一列后面添加check(约束表达式) 例子:sex

9、 char(2) check (sex=男 or sex=女),(引号是英文状态引号)注意:check()中间的约束表达式不需要加上引号,数据库技术,二.表管理语句, 表级的约束 constraint constraint_name check(约束表达式)放单独行的写法注意:如果完整性约束条件涉及到该表的多个属 性列,则必须定义在表级上,否则即可以定义在 列级上也可以定义在表级上,数据库技术,二.表管理语句,(6)默认值约束 default直接在列后面添加:default(默认值) 例子:sex char(2) default(男),注意:这里的例子中default()中的内容为什么需要加上

10、引号,可以不加吗?要跟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子句

11、语法: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 列名 数据类型 例子:

12、alter table employeealter column addr int,数据库技术,二.表管理语句,4.删除表 drop table语法:drop table 表名要首先在查询分析器选中要操作的数据库,或者使用use命令选择要操作的数据库,数据库技术,三.索引,创建索引create index 索引名称 on 表名(列名)删除索引drop index 索引名称,数据库技术,注意问题,1.“查询分析器”的sql关键字是有颜色的 2.表名、数据库.所有者.表名的区别 3.主键primary key、外键references,唯一性约束unique,检查性约束check和默认default直接在后面添加即可。那些地方是空格,那些地方是有逗号,那些有括号的要清楚。 4.怎样才算是语句结束或者是一行结束要弄清楚。可以加分号表名语句结束。 5.主键约束和外键约束可以单独一行添加,注意不同的外键约束的写法:如 foreign key (cno) references student(sno) cno int references student(sno),Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1