SQL Server 应用开发(五)

 

第3章 SQL Server 数据管理

一、SQL简介
(一)SQL和T-SQL
      SQL语言是1974年被提出的,1975-1979年被IBM公司实现,现在已经是关系型数据库的标准语言,T-SQL是标准SQL的加强版

(二)T-SQL的组成
   1、DML(数据操作语言):用来对数据进行增、删、改、查的操作,如SELECT,INSERT,UPDATE,DELETE等
   2、DCL(数据控制语言):用于控制数据加组件的存取许可、存取权限等命令,如GRANT,REVOKE等
   3、DDL(数据定义语言):用来建立数据库、数据库对象和定义其列,如CREATE TABLE,CREATE VIEW,DROP TABLE等

二、T-SQL 中的条件表达式和逻辑运算符
(一)条件表达式:如"price>100","name like '李'","grade<>3"等
   1、SQL SERVER中表达式的组成:A.常量 B.列名 C.一元运算符 D.二元运算符
   2、比较运算符的种类:=(等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、<>(不等于)、!(非)
   3、通配符:通常与LIKE搭配使用:
     1)种类:‘_’(一个字符)、%(任意长度的字符串)、[ ](括号中所指定范围内的一个字符)、[^](不在括号中所指定范围内的任意一个字符)
     2)举例:
      A.运用通配符描述手机号码:TelCole like '13[5-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]',手机号码是11位,前2位是13,第三位是5-9的数字,后面都是0-9的数字
      B.为某银行卡约束卡号限制条件:只能是8位字符串,前2位是"0",3~4位是数字,第5位是下划线,6~8位是字母,CardID like '00[0-9][0-9][_][a-z][a-z][a-z]' or CardID like '00[0-9][0-9][_][A-Z][A-Z][A-Z]

(二)逻辑表达式:AND(与,二者都有)、OR(或,二者取一)和NOT(非,否定条件)

三、使用T-SQL插入数据
(一)插入一条数据:
   1、格式:INSERT [INTO] <表名> [(列名1,列名2,…)] VALUES <值1,值2,…>
     其中:
     A.如果字段类型为数值型,在VALUES部份的值不用加'',如果是字符格式和日期格式需要加''
     B.当对一个表中的全部字段都进行值的添加时,可以省略字段名部份
     C.INTO为可选项
     D.当字段中含有标识列时,应空过该字段,不能向该字段中插入值
     E.当字段有默认值约束时,可对其添加新值,也可采用默认值,采用默认值时,应跳过该字段,或用default表示其默认值

   2、示例:INSERT INTO STUDENT (stuNo,stuName,stuAge) values (1,'张三',18)

(二)插入多条数据:
   1、通过INSERT SELECT 语句将现有隔开的数据添加到新表,新表要已存在
      1)格式:INSERT INTO 新表 (新表列名1,新表列名2,…)
               SELECT 源表列名1,源表列名2,…
               FROM 源表

      2)示例:INSERT INTO TongXunLu (姓名,地址,电子邮件)                SELECT SName,SAddress,SEmail
               FROM Students

   2、通过SELECT INTO 语句将现有表中的数据添加到新表,新表可不存在
      1)格式:SELECT 源表列名1,源表列名2,…
               INTO 新表
               FROM 源表

      2)示例:SELECT Students.SName,Students.SAddress,Students.SEmail
               INTO TongXunLu
               FROM Students

   3、通过UNION关键字合并数据进行插入,新表要已存在
      1)格式:INSERT INTO 新表 (新表列名1,新表列名2,…)
               SELECT 值1,值 2 UNIION
               … …
               … …

      2)示例:INSERT STUDENTS (SName,SGrade,SSex)
               SELECT '测试女生1',7,0 UNION
               SELECT '测试女生2',7,0

   4、标识列的特殊用法:
      因为标识列不允许添加数据,所以用以下方法为新表中添加一个标识列
      SELECT IDENTITY(数据类型,标识种子,标识增长量) AS 列名
      INTO 新表
      FROM 原始表

四、使用T-SQL更新数据
(一)格式:UPDATE <表名> SET <列名1 = 更新值1>,<列名2 = 更新值2>,…[WHERE <更新条件>]
      其中:WHERE可省略,代表对所有记录进行修改
(二)示例:UPDATE Students set SSex = 0

五、使用T-SQL删除数据
(一)使用DELETE删除数据:无法重置标识列
   1、格式:DELETE FROM <表名> [WHERE <删除条件>]
     其中:WHERE可省略,表示对全部记录进行删除
   2、示例:DELETE FROM Students where SName = '张三'

(二)使用TRUNCATE TABLE 删除数据:可重置标识列
   1、格式:TRUNCATE TABLE <表名>
   2、示例:TRUNCATE TABLE Students
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值