SQL Server 之T-SQL语言的学习
来源:互联网 发布:网络巫师剧情介绍 编辑:程序博客网 时间:2024/05/22 02:06
SQL Server 之T-SQL语言的学习
举例:
表1:学生表student
学号
姓名
性别
班级
2007001
李晓明
男
土木0701
2007002
王莉
女
信计0701
表2:成绩表score
学号
课程编号
课程名称
成绩
2007001
1949
高等数学
85
2007001
1823
C语言
98
2007002
1950
数据结构
60
1.数据定义语言
数据库语言属于第四类语言,与其他语言不同之处是:
不区分大小写
字符串全部用单引号
不区分字符和字符串
语句之间不以分号作为分割
多几个数据类型(比如说Date)
(1)创建表
语法:
CREATE TABLE <表名>
(
<列名><数据类型>[列完整性约束条件]
[,<列名><数据类型>[列完整性约束条件]]
……
[,<列名><数据类型>[列完整性约束条件]]
)
列完整性约束条件的格式:
[[Default 默认值]]|[[Identity [(seed,increment)]]] 标识,标识种子,增量
[NULL | NOT NULL ] 默认为NULL
[PRIMARY KEY | UNIQUE ] 前者只能有一个,但是有些属性不允许重复,比如身份证和电话号,可以再多个上写UNIQUE
例1:
Create Table student
(
Id bigint identity(2007001,1) PRIMARY KEY,
Name varchar(10) not null,
Sex char(2) not null,
Classname varchar(10) not null
)
例2:
Create Table score
(
Id bigint not null Foreign Key References student(id), 效果如表
Classid int not null,
Classname varchar(10) not null,
Score int,
Constraint XH_KCH Primary Key(id,classid) 联合主键,XH_KCH可以随意起个名字
)
最好在每个新建查询中添加USE Test说明在哪个表中操作,防止误操作其他表(系统表)。
(2)修改表
语法:
ALTER TABLE <表名>
[ADD<新列名><数据类型>[完整性约束条件]]
[DROP<完整性约束名>(列名)]
[MODIFY<列名><数据类型>]
例3:
Alter Table student add academic varchar(20)
说明:SQL Server的格式在修改方面有一点不同,ADD和DROP是一样的
Alter table student alter column name varchar(20)
(3)删除表
语法:
DROP TABLE 表名
例4:
Drop Table student
2.数据操纵语言
(1)增加记录
语法:
Insert [into] 表名 values(列值1,...列值n)
举例:
Insert student values(‘李晓明’,’男’,’土木0701’) 这里必须要严格一致对应,如果有多条,可以接着写括号
或:
Insert into student(name,sex,classname) values(‘李晓明’,’男’,’土木0701’)
(2)删除记录
语法:
Delete [FROM] 表名 WHERE 条件
举例:
Delete score where classid=1821
(这里的条件可以用classid like ‘2010%’ 其中通配符%代表任意字符串,_代表一个字符串 模糊查询)
(3)修改记录
语法:
update表名 SET 列名=表达式[...,]
WHERE 条件
举例:
Update score set classid=1821 where classid=1823 把1823改成1821
(可以有and 和 or 的逻辑表达)
(4)查询记录
语法:
SELCET 列1 [,列2,...]
FROM 表名
WHERE 条件
GROUP BY 分组表达式
HAVING 分组统计条件
OREDR BY 排序表达式
举例:
例1:查询所有学生的基本信息
Select * from student
例2:查询所有学生的考试成绩,并显示其所在专业
Select student.id,name,academic,score.classname,score
From student,score
Where student.id=score.id
例3:查询成绩不及格的学生的所有信息
Select student.id,name,sex,student.classname,score.classid,score.classname,score
From student,score
Where student.id=score.id
例4:查询学号为2007001的学生的“高等数学”课成绩
Select score.score
From student,score
Where student.id=’2007001’ and score.classname=’高等数学’
例5:查询所有学生中分数最高的详细信息
select *
from score
where score.score in
(
select MAX(score.score)
from score
)
备注:数据库中提供一些基函数,如:max,min,count等
例6:查询所有“信计”专业学生的信息
select *
from student
where classname like '信计%'
- SQL Server 之T-SQL语言的学习
- Sql server T-SQL (Transact-SQL)学习
- SQL Server 2008 对 T-SQL 语言的增强
- SQL Server 2008对T-SQL语言的增强
- SQL Server 2008对T-SQL语言的增强
- SQL Server 2008 对 T-SQL 语言的增强
- SQL Server 2008 对 T-SQL 语言的增强
- SQL Server 2005学习之T-SQL数据库设计一
- SQL Server 2005学习之T-SQL数据库设计二
- SQL Server学习笔记之 T-SQL研究之[表结构的建立]
- 重温SQL Server(T-SQL语言基础)
- SQL Server 2005 T-SQL学习笔记:TOP的增强
- sql server 的T-SQL 学习笔记(一)
- sql server 的T-SQL 学习笔记(三)
- sql server 的T-SQL 学习笔记(四)
- sql server 的T-SQL 学习笔记(五)
- sql server 的T-SQL 学习笔记(六)
- sql server 的T-SQL 学习笔记(七)
- android 无法连接真机调试
- 算法代码实现之堆排序,Java实现
- hadoop 集群调度 Azkaban2搭建
- Uva10305——Ordering Tasks
- 使用 iframe 实现在同一页面中显示不同的内容
- SQL Server 之T-SQL语言的学习
- 22.1-7
- 全排列模版
- POJ 刷题顺序
- 时间复杂度和最大子序列问题
- Thinkphp 发送邮件
- eclipse安装pydev
- 笔记:Linux常用命令(三) 文件搜索命令
- 进制转换