sql2005基础知识(简单操作).ppt_第1页
sql2005基础知识(简单操作).ppt_第2页
sql2005基础知识(简单操作).ppt_第3页
sql2005基础知识(简单操作).ppt_第4页
sql2005基础知识(简单操作).ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

专题二简单操作 1使用SQL向表中插入数据2使用SQL更新表中数据3使用SQL删除表中数据4使用简单查询使用SELECT语句进行条件查询在查询中返回限制行 进行查询排序在查询中使用表达式 运算符和函数 本章目标 SQL WHAT SQL是什么 StructuredQueryLanguage 结构化查询语言WHY 为何要使用SQL 难道仅仅使用SQLServerManagementStudio操作数据库 应用程序如何与数据库打交道 WHEN 何时使用 对SQLServer执行所有的操作都可以 程序中的增删改查HOW 怎么使用 讲述SQL之前 语法检查 数据库对象 执行 选择数据库 SQL 执行结果 插入数据行7 1 InSert INTO 列名 Values INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 上海松江 6 ZQC S 0 插入数据行7 2 注意事项1 每次插入一行数据 不可能只插入半行或者几列数据 因此 插入的数据是否有效将按照整行的完整性的要求来检验 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 代码错误 插入数据行7 3 注意事项2 每个数据值的数据类型 精度和小数位数必须与相应的列匹配 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 上海松江 ZQC ZQC S ZG 代码错误 插入数据行7 4 注意事项3 不能为标识列指定值 因为它的数字是自动增长的 INSERTINTOStudents SCode SName SAddress SGrade SEmail SSEX VALUES 32 张青裁 上海松江 6 ZQC S 0 代码错误 插入数据行7 5 注意事项4 如果在设计表的时候就指定了某列不允许为空 则必须插入数据 INSERTINTOStudents SAddress SGrade SEmail SSEX VALUES 上海松江 6 ZQC S 0 代码错误 插入数据行7 6 注意事项5 插入的数据项 要求符合检查约束的要求 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 上海松江 6 ZQC 0 代码错误 插入数据行7 7 注意事项6 具有缺省值的列 可以使用DEFAULT 缺省 关键字来代替插入的数值 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 DEFAULT 6 ZQC S 0 小结1 编写SQL语句 把你自己的信息插入到学员信息表中 插入多行数据4 1 INSERTINTOTongXunLu 姓名 地址 电子邮件 SELECTSName SAddress SEmailFROMStudents InSertInto 列名 SelectFrom 插入多行数据4 2 SELECTStudents SName Students SAddress Students SEmailINTOTongXunLuFROMStudents Select 列名 IntoFrom 该语句可以执行两次吗 插入多行数据4 3 SELECTStudents SName Students SAddress Students SEmail IDENTITY int 1 1 AsStudentIDINTOTongXunLuEXFROMStudents SelectInto插入多行数据的时候 如何插入新的标识列 SELECTIDENTITY 数据类型 标识种子 标识增长量 AS列名INTO新表FROM原始表 插入多行数据4 4 INSERTSTUDENTS SName SGrade SSex SELECT 张可 7 1UNIONSELECT 李扬 4 0UNIONSELECT 杨晓 2 0UNIONSELECT 汤美 3 0UNIONSELECT 苏三东 7 1UNIONSELECT 王立岩 3 1UNIONSELECT 张伟 7 1UNIONSELECT 陈刚 4 1UNIONSELECT 王娟娟 7 0 InSertInto 列名 SelectUnionSelectUnion SQL中的运算符 逻辑表达式 NOT 付款方式 信用卡 OR 信用卡 阳光卡 这个表达式的含义是什么 更新数据行 UpdateSet Where UPDATEStudentsSETSSEX 0 UPDATEStudentsSETSAddress 北京女子职业技术学校家政班 WHERESAddress 北京女子职业技术学校刺绣班 UPDATEScoreSETScore Score 5WHEREScore 95 小结2 编写SQL语句 更新学员信息表中全部女同学的地址为 北京奥运村 删除数据行3 1 DeleteFrom Where DELETEFROMStudentsWHERESName 张青裁 删除数据行3 2 以下的删除语句可以执行吗 DELETESCodeFROMStudents 删除数据行3 3 TruncateTable TRUNCATETABLEStudents DELETEFROMStudents 小结3 为学员成绩表中增加一行数据 学员张伟Java的考试成绩为80分 SQL语句怎么写 更新成绩表 所有低于60分成绩都加5分的SQL语句怎么写 复制学员表Students为StudentsInfo 包含表结构和全部的数据 SQL语句怎么写 什么是查询 客户程序 SQLSERVER SELECT FROMSALES 查询产生一个虚拟表 看到的是表形式显示的结果 但结果并不真正存储 每次执行查询只是现从数据表中提取数据 并按照表的形式显示出来 怎么查的 SELECT FROMStudentsHWHERE所在班级 S202 引例 查询所有学员的信息 查询所有s202班级的学员编号 姓名和地址 将上一步的查询结果以中文表头学员编号 姓名和地址 显示出来 显示查询结果的前3行 或者显示查询结果的前20 行数据 讲上面的查询结果按照学员编号的降序排列 查询 SELECTFROM WHERE ORDERBY ASC或DESC SELECTSCode SName SAddressFROMStudentsWHERESSEX 0ORDERBYSCode 数据查询 基础 查询全部的行和列 SELECT FROMStudents 查询部分行 SELECTSCode SName SAddressFROMStudentsWHERESAddress 河南新乡 SELECTSCode SName SAddressFROMStudentsWHERESAddress 河南新乡 数据查询 列名 使用AS来命名列 SELECTSCodeAS学员编号 SNameAS学员姓名 SAddressAS学员地址FROMStudentsWHERESAddress 河南新乡 SELECTFirstName LastNameAS 姓名 FROMEmployees 使用 来命名列 SELECT 姓名 FirstName LastNameFROMEmployees 数据查询 常量列 使用常量列 SELECT姓名 SName 地址 SAddress 翰子昂 AS学校名称FROMStudents 数据查询 限制行数 限制固定行数 SELECTTOP5SName SAddressFROMStudentsWHERESSex 0 返回百分之多少行 SELECTTOP20PERCENTSName SAddressFROMStudentsWHERESSex 0 数据查询 排序2 1 升序排列 SELECTStudentIDAs学员编号 Score 0 9 5 As综合成绩FROMScoreWHERE Score 0 9 5 60ORDERBYScore 降序排列 SELECTStudentIDAs学员编号 Score 0 9 5 As综合成绩FROMScoreWHERE Score 0 9 5 60ORDERBYScoreDESC 数据查询 排序2 2 按多列排序 SELECTStudentIDAs学员编号 ScoreAs成绩FROMScoreWHEREScore 60ORDERBYScore CourseID 排序中的字段 可以使用表达式吗 如果不可以 请说明原因 如果可以 请举例说明 小结4 编写SQL语句 1 查询考试成绩前五名的分数 SQLServer中的函数 字符串函数日期函数数学函数系统函数 字符串操作 查询字符串MyAccpCourse中Accp的位置查询字符串 SQLServer课程 的长度 将字符串 aBCDefg 全部变为大写 或者全部变为小写 去除字符串 wegohome 的空格 将字符串 wearefriends 中的e全部替换为m 并分别截取左侧或者右侧3个字符在字符串 ABCDEFG 第二个位置 删除3个字符串并添加 我的音乐我的世界 字符串函数 日期函数 数学函数 系统函数 案例分析1 要求 某公司印了一批充值卡 卡的密码是随机生成的 现在出现这个问题 卡里面的 O和0 哦和零 i和1 哎和一 用户反映说看不清楚 公司决定 把存储在数据库中的密码中所有的 哦 都改成 零 把所有的 i 都改成 1 请编写SQL语句实现以上要求 数据库表名 Card 密码字段名 PassWord 案例分析1 分析 这是更新语句 需要使用UPDATE语句 因为牵涉到字符串的替换 需要使用到SQLServer中的函数Replace 案例分析1 SQL 两行SQL语句 UpdateCardSetPassWord Replace PassWord O 0 UpdateCardSetPassWord Replace PassWord i 1 一行SQL语句 UpdateCardSetPassWord Replace Replace PassWord O 0 i 1 案例分析2 要求 在数据库表中有以下字符数据 如 13 1 13 2 13 3 13 10 13 100 13 108 13 18 13 11 13 15 14 1 14 2现在希望通过SQL语句进行排序 并且首先要按照前半部分的数字进行排序 然后再按照后半部分的数字进行排需 输出要排成这样 13 1 13 2 13 3 13 10 13 11 13 15 13 18 13 100 13 108 14 1 14 2数据库表名 SellRecord 字段名 ListNumber 案例分析2 分析 这是查询语句 需要使用SELECT语句需要使用到ORDERBY进行排序 并且在ORDERBY的排序列中 也需要重新计算出排序的数字来 案例分析2 分析 前半部分的数字 可以从先找到 符号的位置 然后 取其左半部分 最后再使用Convert函数将其转换为数字 Convert int Left ListNumber CharIndex ListNumber 1 后半部分的数字 可以先找到 符号的位置 然后把从第一个位置到该位置的全部字符替换为空格 最后再使用Convert函数将其转换为数字 Convert int Stuff ListNumber 1 Charindex ListNumber 案例分析2 SQL SELECTListNumberFROMSellRecordORDERBYConvert int Left ListNumber CharIndex ListNumber 1 Convert int Stuff ListNumber 1 Charindex ListNumber 案例分析3 要求 要求取本月的最后一天 案例分析3 分析1 首先要知道如何取本月的第一天首先要得到当前的日期和时间 使用的函数是getdate 然后计算当前日期和 1900 01 0100 00 00 000 这个日期之间的月数 记住 时期和时间变量和毫秒一样是从 1900 01 0100 00 00 000 开始计算的 最后当前日期到 1900 01 01 的月数 使用DATEADD 通过增加预定义的日期 1900 01 01 和当前日期的月数 获得这个月的第一天 另外 计算出来的日期的时间部分将会是 00 00 00 000 SELECTDATEADD mm DATEDIFF mm 0 getdate 0 案例分析3 分析2 为了获得本月的最后一天 稍微修改一下语句 修改需要给用DATEDIFF比较当前日期和 1900 01 01 返回的时间间隔上加1 计算出下个月的第一天 在SqlServer中时间是精确到3毫秒 在下个月第一天减去3毫秒 这样就计算出了这个月的最

温馨提示

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

评论

0/150

提交评论