SQL语言之数据定义.ppt

上传人:w****2 文档编号:16566710 上传时间:2020-10-13 格式:PPT 页数:30 大小:677.50KB
返回 下载 相关 举报
SQL语言之数据定义.ppt_第1页
第1页 / 共30页
SQL语言之数据定义.ppt_第2页
第2页 / 共30页
SQL语言之数据定义.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
第六讲 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直接在后 面添加即可。那些地方是空格,那些地方是有逗号 ,那些有括号的要清楚。 4.怎样才算是语句结束或者是一行结束要弄清楚。可 以加分号表名语句结束。 5.主键约束和外键约束可以单独一行添加, 注意不同 的外键约束的写法 :如 foreign key (cno) references student(sno) cno int references student(sno)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!