【T_SQL】 基础 续
2016-05-18 14:43
357 查看
五、通配符
通配符 解释 示例'_'一个字符 A Like 'C_'
%
任意长度的字符串 B Like 'CO_%'
[ ] 括号中所指定范围内的一个字符 C Like '9W0[1-2]'
[^] 不在括号中所指定范围内的一个字符 D Like '%[A-D][^1-2]'
六、插入数据
INSERT 表名(列名) VALUES (插入的列值) insert stuinfo(stuname,stuno,stuage,stuid,stuaddress) values('张三',001,20,100,'hello')
1、注意事项
A、每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验。
B、每个数据值的数据类型、精度和小数位数必须与相应的列匹配。
C、不能为标识列指定值,因为它的数字是自动增长的。
D、如果在设计表的时候就指定了某列不允许为空,则必须插入数据。
E、插入的数据项,要求符合检查约束的要求。
F、具有缺省值的列,可以使用 DEFAULT(缺省)关键字来代替插入的数值。
2、插入多行数据
(1)对象表存在INSERT INTO <表名>(列名) SELECT <列名> FROM <源表名> INSERT INTO stuinfobak (stuname,stuno,stuage) SELECT stuname,stuno,stuage FROM stuinfo (Stuinfobak 表必须在数据库中存在)
(2)对象表不存在
SELECT (列名) INTO <表名> FROM <源表名> SELECT stuname,stuno,stuage INTO stuinfobak1 FROM stuinfo (Stuinfobak1 表必须在数据库中不存在)
(3)插入新的标识列
IDENTITY(数据类型,标识种子,标识增量) SELECT IDENTITY(数据类型,标识种子,标识增长量) AS 列名 INTO 新表 FROM 原始表 SELECT Students,SName,Students,SAddress,Students,SEmail, IDENTITY(int,1,1) As StudentID INTO TongXunLuEX FROM Students
(4)插入多行内容
INSERT INTO <表名>(列名) SELECT 列内容 UNION SELECT 列内容 UNION
七、更新数据行
UPDATE <表名> SET <列名 = 更新值> [WHERE <更新条件>] UPDATE Students SET SAddress ='某社区 22#楼 4 单元 45 号' WHERE SAddress = '某社区 22#楼 4 单元 45 号' UPDATE Scores SET Scores = Scores + 5 WHERE Scores <= 95
八、删除数据行
1、删除指定的行
DELETE FROM <表名> [WHERE <删除条件>]
注意:DELETE FROM 不会只删单个字段,要删就是整行
2、删除所有记录
TRUNCATE TABLE <表名>其实,我通常也用
DELETE Table<>
注意:不能用于有外键约束引用的表。删除后,表的结构、列、约束、索引不变。
九、查询
SELECT <列名> FROM <表名> [WHERE <查询条件表达式>] [ORDER BY <排序的列名>[ASC(升)或 DESC(降)] ] --默认为升序
1、查询全部的行和列
SELECT * FROM Students
2、查询部分行
SELECT <列名> FROM <表名> WHERE <查询条件表达式>
3、自定义命名查询结果中的列名
(1)使用 AS 来命名列
SELECT 原表中列名 AS 查询结果中显示的列名 FROM <表名> WHERE <查询条件表达式> SELECT Stuno AS 学员编号,StuName AS 学员姓名,StuAddress AS 学员地址 FROM stuinfo WHERE SAddress like '地址不详'
(2)合并两列数据,以规定格式输出查询结果
SELECT 原表中列名+ '.' +原表中列名 AS 查询结果中显示的列名 FROM 表名
(3)使用“=”来命名列
SELECT 查询结果中显示的列名 = 原表中列名 FROM <表名> WHERE <查询条件表达式> SELECT 查询结果中显示的列名 = 原表中列名+ '.' +原表中列名 FROM 表名
(4)查询某几列为空的行
SELECT 列名 A FROM 表名 WHERE 条件列名 B IS NULL 显示结果:B 列为空的 A 列内容。
(5)显示结果中加入常量列
SELECT 列 A = SName,列 B = SAddress,'常量列内容'AS 常量列名称 FROM Students SELECT 姓名=SName,地址= SAddress,'72 中' AS 学校名称 FROM Students
(6)限制查询结果输出的行数
SELECT TOP 5 列名 FROM 表名 WHERE 条件 --显示结果:符合条件的前五行。
(7)返回百分之多少行
SELECT TOP 20 PERCENT 列名 FROM 表名 WHERE 条件 显示结果:符合条件的行数的前 20%行。
(8)升序排列(默认)ASC
SELECT StudentID As 学员编号,(Score*0.9+5) As 综合成绩 FROM Score WHERE (Score*0.9+5)>60 ORDER BY Score
(9)降序排列 DESC
SELECT Au_Lname +'.' +Au_fName AS EMP From 表 A Union SELECT fName +'.'+ LName AS EMP From 表 B ORDER BY EMP DESC显示结果:混合查找两张表中的列,并按格式输出到新列中,并按新列排序输出。
(10)按多列排序
SELECT StudentID As 学员编号, Score As 成绩 FROM 表名 WHERE Score>60 ORDER BY Score,studentID
显示结果:先按 Score 排序,再按 studentID 排序。
相关文章推荐
- 【T_SQL】 基础 续
- 启动web容器服务后出现 Xmemcached-Reactor-3错误
- mysql单表体积和一个库设计多少张表为妥
- mysql数据库编码
- mysql I/O调度算法
- 数据库设计三大范式总结
- mysql第一天 基础入门命令
- 图解Oracle dump 命令初步
- 关于图片或者文件在数据库的存储方式归纳
- redis学习中遇到对象的串行化(Serialization)问题
- Mysql系列(九) 单引号与反引号
- mybatis oracle获取插入的主键
- java oracle blob 读写操作
- Hive基础(2): 数据类型、数据库、表、字段、交互式查询的基本操作
- 将本地的mongodb迁移到阿里云的mongodb上
- zabbix监控mysql主从状态
- ubuntu14.04上安装Mysql-5.7.11
- MySQL binlog 远程备份方法详解
- 超级全面的Linq语法、SQL语法、lambda表达式对照(相同功能的不同于法)
- mysql workbench 快捷键