码迷,mamicode.com
首页 > 数据库 > 详细

使用T-SQL语句操纵数据库表

时间:2019-04-03 23:55:27      阅读:346      评论:0      收藏:0      [点我收藏+]

标签:ado   asc   t-sql   结果   dad   分组   逗号   set   搜索   

插入数据语法格式:

insert [into] <表名> [列名] values <值列表>

  • [into]:可选项,可以忽略。
  • 表名是必须的,而表的列名是可选的,如果省略,<值列表>中顺序与数据表中字段顺序保持一致。
  • 多个列名和多个值列表用逗号分隔。
    如向test表中插入一行数据,可以使用如下T-SQL语句:

insert into test (姓名,×××号,职务,出生日期,基本工资)
values (‘张三‘,‘123465789‘,‘运维工程师‘,‘1995-10-01‘,12000) #向表中插入员工张三的信息

注意SQL语句中的符号都是在英文输入法中输入的,否则会报错。

更改表中数据
update test set 基本工资=12000 where 姓名=‘李四‘ #把test表中的李四工资更改为12000元。

删除表中数据
delete from test where 姓名=‘张三‘ #删除表中张三的行记录

delete from test #删除test表中所有行

truncate table test #删除test表中所有行

truncate 和delete 语句都用来删除记录,区别如下:

  1. Truncate不带where子句,只能将整个表数据清空,而delete可以带where子句,允许按条件删除某些记录。
  2. Truncate table语句不记录事务日志,而delete语句无论删除多少记录,都会每删除一行就记录一条事务日志,所以使用Truncate table 语句删除数据后是无法通过事务日志恢复的。
  3. Truncate table语句删除表中所有行,标识列会重置为0,而delete语句不会重置标识列。
  4. Truncate table语句不能删除表有外键约束引用的表,这种情况可以使用delete语句。

select查询语法结构

在SQL   server中,select语句的语法如下:
select   要查询的列
[ into 生成新表的名 ]
from  [表名]
[where  查询条件]
[group  by   指定查询结果的分组条件]       [ having ]  指定分组搜索条件,通常和group by 子句一起使用
[ order  by  指定排序规则    desc&asc ]                        #desc为降序,asc为升序,默认不指定的话为升序

条件表达式
技术图片

技术图片

逻辑表达式
技术图片

查询举例
select * from test #把test表中的所有列信息都列举出来

select 姓名,职务,基本工资 from test #查询表中的姓名,职务,基本工资列内容

select 姓名 from test where 职务=‘运维人员‘ #查询表中所有运维人员的姓名

select * from test where 基本工资 between 8000 and 10000 #查询test表中基本工资8000到10000之间的员工所有信息

select * from test where 基本工资&lt;10000 or 基本工资&gt;20000 #查询表中基本工资低于10000或高于20000的员工所有信息

select * from test where 基本工资 in (8000,9000,10000) #查询表中工资为8000,9000,和10000的员工所有信息。

select * from test where ×××号 like ‘66%‘ #查询test表中×××号以66开头的员工所有信息。

select * from test where 姓名 like ‘杨%‘ and 职务=‘运维工程师‘ #查询表中姓杨的运维工程师的信息

select * from test where 备注 is not null #查询表中备注不为空的员工所有信息。

select top 5 * from test #查询表中前5行的数据。

select * from test order by 基本工资 desc #查询test表中所有的信息,并按照基本工资从高到低显示查询结果。

select distinct 职务 from test #查询test表中有哪些职务

使用SELECT生成新数据
1、select 使用into关键字:
select 姓名,×××号,职务 into new01 from test #将test表中所有员工的姓名、×××号和职务生成一个新表new01。

2、insert 使用select关键字:

insert into Table_1 (姓名,职务,出生日期) select 姓名,职务,出生日期 from test where 基本工资>=15000 #将test表中所有基本工资大于等于15000的员工的姓名,职务,和出生日期保存到 Table_1表中(注意,这里的 Table_1表中需要提前建立)

3、使用union关键字:
insert into table_1 (姓名,职务,出生日期) <br/>select ‘张三‘,‘运维‘,‘1995-01-01‘ union <br/>select ‘李四‘,‘运维‘,‘1996-01-01‘ union <br/>select 姓名,职务,出生日期 from test #将test表中所有员工的姓名、职务和出生日期,以及新输入的2名员工相关信息,一起保存到新表table_01

使用T-SQL语句操纵数据库表

标签:ado   asc   t-sql   结果   dad   分组   逗号   set   搜索   

原文地址:https://blog.51cto.com/14154700/2373910

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!