❶ 向数据表中插入记录的T-sql语句是什么
insert into 表(字段1,字段2,字段3) values (内容1,内容2,内容3)
内容的位置,字符型要加单引号
或者要插入的数据来源于其他表
insert into 表A(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表B
❷ 下列正确的 SQL语句是( )。
d
id必须插入,当不指定字段时,必须插入所有字段,所以ac错误。
字段与插入值需一一对应,所以b错误
❸ 写出完成下列要求的T-SQL语句
-创建学生表,学号为主键,性别默认值为‘男’,学号和姓名要求非空。
use 学生选课
create table 学生表
(学号 char(10) PRIMARY KEY NOT NULL,
姓名 varchar(20) NOT NULL,
性别 char(2) DEFAULT '男',
专业 varchar(50),
籍贯 varchar(40),
出生日期 datetime);
--向选课表插入数据('20180102’,’1002’,89)
INSERT INTO 选课表
VALUES ('20180102','1002',89);
--修改学生表,将“陈明”的出生日期改为“1998-2-12”
UPDATE 学生表
SET 出生日期='1998-2-12'
WHERE 姓名='陈明';
--查询选课成绩不及格的学生的姓名、课程名和成绩,按成绩降序排序。
select 姓名,课程名,分数 as 成绩
FROM 学生表 as a, 选课表 as b,课程表 as c
where a.学号=b.学号 AND b.课程号=c.课程号 AND
b.分数<60
ORDER BY 分数 DESC;
--查询学生表,分别统计男女生人数。
select 性别,count(*) 人数
from 学生表
GROUP BY 性别;
--创建视图“学生_view”,查询输出所有学生的姓名、性别、专业。
create view 学生_view
AS select 姓名,性别,专业
from 学生表;
--创建存储过程“选课统计_proc”,查询选课表,统计输出每门课程的所选学生人数及最高分,并执行该存储过程。
CREATE PROCEDURE 选课统计_proc
AS
BEGIN
SELECT 课程号,COUNT(学号) AS 所选学生人数,MAX(分数) AS 最高分
FROM 选课表
GROUP BY 课程号
END;
EXEC 选课统计_proc
❹ T-SQL的基本语法
一:insert语句
into 关键字是可选的
values关键字前面的()是可选的,这里是要接收数据的列
values后面,有两种方式提供值
1:显式的给出值 2:从select语句中导出值
insert语句注意几点
1:不要理标志列,系统会给你插入的
2:给出实际的值,如果没有,那就null
3:给出默认的值,default关键字,告诉数据库取默认值
insert into ... select
什么时候会这么用,当成批的数据来自
1:数据库中的另一个表
2:同一台服务器完全不同的数据库
3:另一个SQLSERVER的数据库
4:来自同一个表中的数据
说实在的2和3我从来没用过
好,看一个例子
declare @mytable table
(
id int,
sortid int
);
insert into @mytable (id,sortid) select id,classid from proct;
select * from @mytable;
注意我定义了一个表的对象
每一句之间是用分号隔开的
(id,sortid) 是可以忽略的
二:update语句
看例子
update e set e.flag = 'm' from employee e join contact ce on e.id = ce.employeeid where ce.name = 'jo'
这里用到了join子句,当然是可以用的
如果修改不止一列 只要加一个逗号
set num = num * 1.2当然可以写表达式
三:delete语句
delete from actors from actors a left join film f on a.filmid = f.filmid where f.filmid is null
outer连接将在没有匹配的一端返回null,
这里也就是film表没有匹配的行是null
注意 is null 的写法
四: select语句
这里还是不说了,还是多说说子句吧
五:where子句
1:
= > < >= <= <> != !> !<
其中<> 与 !=都是不相等的意思
!>与!<不怎么常见,但仔细想想也没什么用处
2:
and or not
如果一个where子句中同时出现这三个操作符
最先评估not 然后是and 然后是or
3:
between 例子 between 1 and 5 这个就不多说了
4:
like 例子:like "xland%"
%和_是通配符
%代表零个或多个任意字符
_表示单个任意字符
把字符包括在方括号中
[a-c]表示a b c都可行
[ab]表示a或b
^与not表示下一个字符将被排除掉
5:
in 例子 in ( 1,2,3) 这个也不多说了
六:order by子句
order by由于比较常用 我这里就不多说了
1:order by username 是可以识别中文的(sql先把中文转换成拼音再进行排序)
2:可以对 查询到的表中的任何列 进行排序 无论该列是否包含在select列表中
3:基于多个列的order by
例如:order by addtime,id
先按时间排序,再在这个基础上根据id排序,你也看到了,性能是有很大幅度的降低的
七:distinct关键字
select count(distinct column) from table
检索某一列不重复的记录数
八:group by 聚集函数 和 having子句
先看例子:
select orderid sum(orderMoney) from sales where orderid between 3 and 123 group by orderid
注意这里的orderid在表里是有可能重复的
这个语句的作用是检索出orderid从3到123的记录,
然后在这个记录集合上 以orderid分组
把orderid相同的数据分到一组 (这一组就是最终结果的一条记录)
然后通过sum函数把各组的orderMoney数据相加,
结果是最终结果的第二个字段
我发现用group by子句基本上都是和聚集函数一起用的
举几个聚集函数的例子
sum 求和
avg求平均数
min/max求最大和最小值
count(表达式|*)获取一个查询中的行数
只说说count吧:
count(coloum)如果这一列有null,那么这些null的行将不会计算在内
count(*)将得到表里的所有行的数目
聚集函数不一定非和group by一起使用不可
(另外avg基本上都是和group by一起使用的)
having子句是在组上放置条件的
看例子
select orderid sum(orderMoney) from sales where orderid between 3 and 123 group by orderid having sum(orderMoney)>5
group by得到了一个记录的集合
然后通过having子句,再在这个集合上做筛选
❺ 如何用T-SQL判断SQL语法是否正确
T-SQL是sqlserver的标准语法,一般在SQL Server Management Studio中执行T-SQL语句时,如果不正确,会直接报错。
如以下代码(求1到100累加的和):
DECLARE@iINT,@sumINTSET@i=1SET@sum=0WHILE@i<=100BEGINSET@sum=@sum+@iSET@i=@i+1ENDPRINT@sum
此代码是正确的,最后的输出结果如下:
❻ T-SQL语句的分为哪四类
根据其完成的具体功能,可以将T-SQL语句分为:数据定义语言、数据操纵语言、数据控制语言、事务管理语言。
1、数据定义语言用来定义和管理数据库以及数据库中的各种对象,这些对象的创建、修改和删除等都可以通过使用CREATE、ALTER、DROP等语句来完成。
2、数据操纵语言用来查询、添加、修改和删除数据库中数据,相关语句包括SELECT、INSERT、UPDATE利和DELETE等。
3、数据控制语言用来进行安全管理,用来设置或者更改数据库用户或角色权限以确保数据库中的数据和操作不被未授权的用户使用和执行。相关语句包括GRANT、DENY和REVOKE等。
4、事务管理语言的相关语句有:BEGINTRANSACTION用来明确定义事务的开始,COMMITTRANSACTION用来明确地提交完成的事务,ROLLBACKTRANSACTION用来使数据回到事务开始时的状态并释放该事务占据的资源。
(6)正确的TSQL语句是扩展阅读
SQL Server和T-SQL的区别
SQL Server是结构化查询语言,是目前关系型数据库管理系统中使用最广泛的查询语言。
T-SQL即 Transact-SQL,是标准SQL语言的扩展,是SQL Server的核心,在SQL的的基础上添加了变量,运算符,函数和流程控制等新内容。
总之SQL Server是几乎所有关系型数据库都支持的语言,而T-SQL是Microsoft SQL Server支持的语言。
❼ 利用t-sql语言创建表时,语句是
语句是CreateTable。根据查询网上相关信息显示,T-SQL即Transact-SQL,是SQL在MicrosoftSQLServer上的增强版,它是用来让应用程序与SQLServer沟通的主要语言。
❽ 基于teaching数据库中的表,写出正确的T-SQL语句:将score表中所有学生的平时成绩增加2分。
成绩字段是什么?
假设成绩字段是:chengji
用update命令:
update 表名 set 字段=新值
你这里就是这样:
update score set chengji=chengji+2
❾ T-SQL语句
execute ('select sc.sno,sname,sdept from student,sc where sc.sno=student.sno and student.sdept='+'''+@kh+''')
改为:
execute ('select sc.sno,sname,sdept from student,sc where sc.sno=student.sno and student.sdept=@kh)
❿ T-SQL语句
1:select 学号,成绩信息 from 成绩
where(update 成绩 set 成绩=成绩+10)
2:select 学号,姓名,clunm,籍贯 from 学生信息
where 籍贯='四川' as clunm
4:select distinct 学号,成绩信息 from 成绩表
7:select 教师职称,count(*) from 教师表 group by 性别