数据库开发基础-授课
时间:2021-07-01 10:21:17
帮助过:4人阅读
--使用昨天创建好的lianxi0425的数据库
2 --1.创建一个学生信息表xinxi
3 --列名分别为:
4 --code(int) not null
5 --name(varchar(50)) not null
6 --birth(varchar(50)) not null
7 --sex(char(10)) not null
8 --score(decimal(18,2))
9 --banji(varchar(20)) not null
10 --创建表格
11 use lianxi0425
12 go
13 create table xinxi
14 (
15 code
int not null,
16 name
varchar(
50)
not null,
17 birth
varchar(
50)
not null,
18 sex
char(
10)
not null,
19 score
decimal(
18,
2)
not null,
20 banji
varchar(
20)
not null,
21 )
22 go
23
24
25
26 --插入信息:
27 --插入十个人的信息,插入班级时要求有两个班级
28 --创建一班数据
29 insert into xinxi
values(
101,
‘张三‘,
‘1990年3月2日‘,
‘男‘,
86,
‘一班‘)
30 insert into xinxi
values(
102,
‘王丽‘,
‘1991年5月5日‘,
‘女‘,
95,
‘一班‘)
31 insert into xinxi
values(
103,
‘王五‘,
‘1990年10月3日‘,
‘男‘,
86,
‘一班‘)
32 insert into xinxi
values(
104,
‘李四‘,
‘1992年11月11日‘,
‘男‘,
89,
‘一班‘)
33 insert into xinxi
values(
105,
‘张红‘,
‘1990年9月5日‘,
‘女‘,
80,
‘一班‘)
34
35 --创建二班数据
36 insert into xinxi
values(
201,
‘赵六‘,
‘1990年4月2日‘,
‘男‘,
94,
‘二班‘)
37 insert into xinxi
values(
202,
‘赵红‘,
‘1991年6月6日‘,
‘女‘,
95,
‘二班‘)
38 insert into xinxi
values(
203,
‘马七‘,
‘1990年5月9日‘,
‘男‘,
86,
‘二班‘)
39 insert into xinxi
values(
204,
‘刘九‘,
‘1992年12月20日‘,
‘男‘,
78,
‘二班‘)
40 insert into xinxi
values(
205,
‘马丽‘,
‘1990年7月5日‘,
‘女‘,
92,
‘二班‘)
41 --1)查询全部
42 select *from xinxi
43 --2)查询一列(姓名)
44 select name
from xinxi
45 --3)查询多个列(姓名、性别、生日)
46 select name,sex,birth
from xinxi
47 --4)根据条件查询一行(code=102)
48 select * from xinxi
where code
=102
49 --5)根据条件查找一个数据(code为102的姓名)
50 select name
from xinxi
where code
=102
51 --6)根据条件查找多个数据(code为102的姓名性别)
52 select name , sex
from xinxi
where code
=102
53 --7)插入一条数据(自己的信息)
54 insert into xinxi
values(
206,
‘张全蛋‘,
‘1989年3月3日‘,
‘男‘,
60,
‘二班‘)
55 --8)更改code为102的学生的生日为1990-1-1
56 update xinxi
set birth
=‘1990年1月1日‘ where code
=102
57 --9)删除code为205的学生的数据
58 delete from xinxi
where code
=205
59
60 --查询所有分数在90分以上的
61 select * from xinxi
where score
between 90 and 100
62 select * from xinxi
where score
>90
63
64 --模糊查询 用% 表示
65 --%可以表示任意的字符,不管长度如何
66 --like 像
67 --查看所有姓赵的
68 select * from xinxi
where name
like ‘赵%‘
69 select * from xinxi
where name
like ‘%四‘
70 --下划线表示此位置只有一个完整字符
71 --查看姓李的并且名字只有两个字
72 select * from xinxi
where name
like ‘李_‘
73
74 --分数从小到大排出来 后缀为asc 默认不写就是升序
75 select * from xinxi
order by score
76 --降序 后缀为desc
77 select * from xinxi
order by score
desc
78
79 --查看分数排名前三的人员的所有信息
80 select top 3 * from xinxi
order by score
desc
81
82
83
84 --聚合函数
85 --AVG() 求平均数
86 --求平均分数 as表示列名显示为***
87 select AVG(score)
as 平均分
from xinxi
88 --查询一班的平均分
89 select AVG(score)
as 平均分
from xinxi
where banji
=‘一班‘
90
91 --Count 求个数
92 select COUNT(
*)
from xinxi
93 --查询姓王的人有几个
94 select COUNT(
*)
from xinxi
where name
like ‘王%‘
95
96 --MAX 求最大
97 select MAX(score)
from xinxi
where banji
=‘二班‘
98 --MIN 求最小
99
100 --SUM 求总和
101 select SUM(score)
from xinxi
where banji
= ‘一班‘
102
103 --group by 分组
104 select banji
from xinxi
group by banji
105 --分组之后看看每个班级的平均分
106 select banji ,
AVG(score)
as 平均分,
COUNT(
*)
as 人数
from xinxi
group by banji
107 --having 后面只允许跟聚合函数
108 select banji ,
AVG(score)
as 平均分
from xinxi
where score
>85 group by banji
having COUNT(
*)
>3
109
110
111 --select 作用 查询
112 select 7+19
113
114 --数学函数
115 --ABS 绝对值
116 select ABS(
-44)
117 --ceiling 上线
118 select CEILING(
3.14)
119 --floor 下线
120 select FLOOR(
3.14)
121 --POWER 谁得几次方
122 select POWER(
6,
4)
123 --ROUND 四舍五入,逗号后边表示小数点后有几位
124 select ROUND(
44.444,
0)
125 --SQRT 平方根
126 select SQRT(
4)
127 --square 2次方
128 select SQUARE(
4)
129
130
131 --字符串函数
132 --ASCII 将字符转化为数值
133 select ASCII(
‘a‘)
134 select ASCII(name)
from xinxi
135 --CHAR 将数值转化为字符
136 select CHAR(
97)
137 select CHAR(score)
from xinxi
138 --CHARINDEX 查看此字符串首次出现的位置
139 select CHARINDEX(
‘efg‘,
‘abcdefghijklmn‘)
140
141 --left 从左侧截取多少个
142 select LEFT(
‘abcdefg‘,
3)
143 --right 从右截取几个
144 select RIGHT(
‘abcdefg‘,
3)
145 --LEN 查看字符串的长度,前面的空格算,后面的不算
146 select LEN(
‘ abc ‘)
147
148
149 --时间日期函数
150 SET DATEFIRST
1
151 SELECT @@DATEFIRST AS ‘1st Day‘,
DATEPART(dw,
GETDATE())
AS ‘Today‘
152 SELECT GETDATE()
--获取当前时间
153 select SYSDATETIME()
--获取更精确的系统时间
数据库开发基础-授课
标签: