数据库基本管理和T-SQL语句.ppt_第1页
数据库基本管理和T-SQL语句.ppt_第2页
数据库基本管理和T-SQL语句.ppt_第3页
数据库基本管理和T-SQL语句.ppt_第4页
数据库基本管理和T-SQL语句.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

SQLSERVER2000数据库应用 主讲教师 李灯登 第二次 数据库基本管理和T SQL语句 第一节目标 了解T SQL语句分类掌握用CREATE语句创建数据库和表掌握用ALTER语句修改数据库和表 T SQL语言分类 数据控制语言 DCL 1 Revoke 撤消 2 deny 拒绝 3 grant 同意 授权 数据定义语言 DDL 1 create 创建 2 alter 修改 3 drop 删除 针对对象 数据操作语言 DML 1 insert 插入 2 update 更新 3 delete 删除 针对对象的内容 数据查询语言 DQL 1 select 查询 用SQL语句创建表 use数据库名createtable表名 字段1数据类型identity 标示种子 递增量 primarykey 字段2数据类型 字段3数据类型 字段4数据类型 字段5数据类型 字段6数据类型 字段n数据类型 GO注 n最大可等于1024 示例 设已经创建了数据库XSCJ 现在该数据库中需创建学生情况表XS 创建表XS的T SQL语句如下 USEXSCJCREATETABLEXS 学号int 姓名varchar 20 专业名varchar 20 性别bitNOTNULL 出生时间smalldatetimeNOTNULL 总学分tinyintNULL 备注textNULL 分析 首先使用USEXSCJ将数据库XSCJ指定为当前数据库 然后使用CREATETABLE语句在数据库XSCJ中创建表XS 用SQL语句创建表 添加 删除列 语法 在表中添加一列use数据库名altertable表名add字段名数据类型go删除表中的一列use数据库名altertable表名dropcolumn字段名 go 例 在表XS中增加1个新列 奖学金等级 一次可以添加多列 USEXSCJALTERTABLEXSADD奖学金等级tinyintNULLGO 例 在表XS中删除名为奖学金等级的列 一次可以删除多列 USEXSCJALTERTABLEXSDROPCOLUMN奖学金等级GO 添加 删除列 identity 起始值 增量系数 在表中创建一个标识列 起始值为1 增量系数为1 不允许为空 usenorthwindaltertablexsadd序号intidentity 1 1 notnullGo必须为整型 精确小数 添加标识列 修改数据类型或长度 语法 一次只能修改一列 修改字符数据类型的长度 varchar use数据库名altertable表名altercolumn字段名char 修改后的长度 go改变字段的数据类型use数据库名altertablexsaltercolumn字段名修改后的数据类型go 示例 例 修改表XS中已有列的属性 将名为 姓名 的列长度由原来的8改为10 将名为 出生时间 的列的数据类型由原来的smalldatetime改为datetime USEXSCJALTERTABLEXSALTERCOLUMN姓名char 10 GOALTERTABLEXSALTERCOLUMN出生时间datetimeGO 修改数据类型或长度 删除表 语法 droptable表名 例 删除xs表 droptablexs 第二节课目标 掌握数据操作语言 插入 更新 删除 查询 数据操作语言DML 数据操纵语言 DML 主要语句及功能 使用insertinto语句向表插入数据 往表中插入数据 insertinto表名 字段1 字段2 字段3 字段n values 值1 值2 值3 值n 注 n最大可等于1024 通过INSERTFROM查询 可以将行从一个表复制到另一个表中或在同一个表内复制 INSERTINTOnewxs xid xname sex age SELECTxid xname sex agefromxs 使用insertfrom语句向表插入数据 使用update修改记录 语法格式 use数据库update表名set字段1 修改后的值 字段2 修改后的值 where条件注 一次可以修改多列 使用update修改记录 例 将XS表中的所有学生的总学分都增加10 UPDATEXSSET总学分 总学分 10说明 若UPDATE语句中未使用WHERE子句限定范围 UPDATE语句将更新表中的所有行 例 将姓名为 罗林琳 的同学的专业改为 通信工程 备注改为 转专业学习 学号改为001241 UPDATEXSSET专业 通信工程 备注 转专业学习 学号 001241 WHERE姓名 罗林琳 说明 使用UPDATE可以一次更新多列的值 这样可以提高效率 使用删除语句delete删除记录 语法格式 从表中删除一条记录 deletefrom表名where条件删除表中所有记录 保存表的架构 detelefrom表名 语法格式 truncatetable表名删除记录语句truncate 删除表中的所有行 truncatetable在功能上与不带WHERE子句的delete语句相同 二者均删除表中的全部行 但truncatetable比delete速度快 且使用的系统和事务日志资源少 例 删除xs表里所有记录truncatetablexs 使用删除语句truncate删除表 例 查询学生表 xs 中的所有信息所有列用 代替select fromxs当在select语句指定列的位置上使用 号时 表示选择表的所有列 Select基本语句 例 查询课程表课程号 课程名 学分多列用逗号 分隔符select课程号 课程名 学分fromkc 例 从学生表 xs 中查询所有学生的学号单列select学号fromxs 基本语法 select列名from表名 带条件的查询 例 查询xs表中姓名为李明的相关信息用where指明条件select fromxswhere姓名 李明 例 查询xs表中出生日期在1978 3 26以后的学生select姓名 出生日期fromxswhere出生日期 1989 1 3 注 字符型或日期型的数据要用单引号引起来 And or 例 查询xs表中学号为1101且姓名为李明的相关信息select fromxswhere姓名 李明 and学号 1101 例 查询xs表中姓名为李明或者学号为1101的相关信息select fromxswhere姓名 李明 or学号 1101 between and在 范围之内 例 查找总学分为60和70之间的学生所有信息select fromxswhere总学分between60and70 大于60小于70 例 查找出生日期不在1980 8 26到1979 1 29的学生姓名select姓名 出生日期fromxswhere出生日期notbetween 1980 8 26 and 1979 1 29 注意时间的用法 在使用where子句进行查询时若条件表达式中出现若干条件相同的情况就会使表达式显得冗长不便于用户使用这时可用in关键字来简化 例 查找分数为70和80的所有学生信息usexscjselect fromxswhere总学分in 70 80 In or orderby排序 asc升 desc降 例 查找学生的总学分以升序排列 出生日期以降序排列的学生姓名和学号usexscjselect姓名 出生日期 总学分 学号fromxsorderby总学分asc 出生日期desc 以第一列为主序 再在第一列相等的基础上再对第二列排序 asc默认 可省略 Distinct关键字 Distinct 从返回的结果数据集合中删除重复的行 例 查询xscj数据库中xs表中的总学分 但是不能有重复的usexscjselectdistinct总学分fromxsorderby总学分go TOP关键字 top 关键字用于指定只返回前面一定数量的数据 topn 表示返回最前面的n行 topnpercent 用百分比表示返回的行数 例 查询在xscj库中的xs表中总学分最高的前5项的学生姓名usexscjselecttop5总学分 姓名fromxsorderby总学分ascgo Top withties指定返回并列前N条记录 usenorthwindselecttop5withtiesorderid productid quantityfrom orderdetails orderbyquantitydescgo withties必须与orderby连用 第三节目标 掌握模糊查询语句掌握case查询语句掌握子查询语句 like子句与通配符配合使用 Sqlserver提供 种通配符1 表示任意字符2 表示单个任意字符3 表示方括号里列出的任意一个字符 4 表示任意一个没有在方括号里列出的字符 使用like子句进行模糊查询 基本语法 select字段名from目标表where字段名like条件 例 查找学生姓名以 王 开头的所有学生信息select fromxswhere姓名like 王 where姓名notlike 王 模糊查询like Case替换查询结果中的数据 usebaseselect编号 姓名 工资 工资等级 casewhen工资isnullthen 无级别 when工资900and工资 1500then 二级工资 else 一级工资 endfromugvwhere出生年月 1999 10 01 go 嵌套查询 一个select from where语句称为一个查询块 将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询 使用比较符的嵌套查询 SelectFrom表Where列名比较符 select列from表 where 例 查询和刘臣同系的学生学号 姓名select学号 姓名fromxswhere所在系 select所在系fromxswhere姓名 刘臣 练习 查询年龄小于刘臣年龄的学生信息查询成绩比刘臣选修2号课程的成绩高的学生学号 使用比较符的嵌套查询 比较子查询格式为 expression ALL SOME ANY subquer

温馨提示

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

评论

0/150

提交评论