0
点赞
收藏
分享

微信扫一扫

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 条评论