目录 SQL是一种关系型数据库,是一个可扩展的,高性能的,为分布式客户机/服务器计算所和设计的数据库管理系统。 高性能设计 系统管理先进,支持图形化管理工具,支持本地和远程的系统管理和配置 强壮的事务处理能力 支持对称多处理结构,存储过程,ODBC,并具有自主的SQL语言 镜像文件:http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/ VM虚拟机下载地址:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-10.0.4-2249910.exe VM虚拟机密钥可以百度直接搜索:VM虚拟机各版本密钥; 上面VM虚拟机链接密钥(下面三个应该都可以): 下面都用的是语句创建,没有展示如何界面话创建 alter database oldname alter database 数据库名称 exec SP_HELPDB 数据库名称; –查看数据库的内部结构 drop database 数据库1,数据库2,数据库3;(需要删除几个中间用空格隔开即可) 数据类型是一种属性,用于指定对象可保存的数据的类型:整型数据,字符数据,日期和时间,二进制字符串等等。 固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。 p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。 s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。 固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。 p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。 s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。 主键:大多数表有一个主键,主键由表的一列或者多列组成。主键始终是唯一的,表中的任何主键都不能重复。 create table 表名称( 如果需要添加多个主键,则在前面不用写primary key,在最后加上primary key(属性1,属性2,…..) 如果使用界面话修改,此处可能出现修改不成功的情况,修改后系统不让保存; 我找到的一个方法链接:https://jingyan.baidu.com/article/a17d5285761845c098c8f282.html alter table 表 alter table 表 alter table 表 alter table userint EXEC sp_rename ‘字段.字段名’, alter table 表 add 字段名 字段类型 default null drop table 表1,表2,表3;(需要删除几个,就添加几个表,中间用逗号隔开) alter table 表名 alter table 表名 drop 主键名 alter table 将要加入外键表 alter table 表名 drop constraint 外键名 insert into 表名 (栏位1,栏位2,栏位3……) insert into 表名 (栏位1,栏位2,栏位3……) select 字段名称(*代表全部) from 表 select distinct 字段名称 from 表 select top 行数 字段名称 from 表 update 表 delete from 表 where 字段=值 where 字段like’%值%’ –表示带有值的数据,%放在那一边表示那一边的字可有可无 where name like’%红%’; –带有红字的数据 用法限制条件表达式,指定表达式范围值 用于限制条件表达式,指定表达式范围值 order by 字段名 (asc/desc) –asc升序,desc降序,不加的话默认为升序;多个限制字段按从前往后 交叉关联,只返回两个表中联结字段相等的值 select *from 表1 左关联,返回包含左表中的所有记录和右表中联结字段相等的值 select *from 表1 右关联,返回包含右表中的所有记录和左表中联结字段相等的值 select *from 表1 select avg(Student.age) as’年龄平均’ from student select min(Student.age) as’年龄最小’ from student 同上 select count(Student.age) as’字段数’ from student dd/mm/yy hh:mi:ss:mmmAM datediff()函数返回两个日期之间的天数 datediff(日期类型,日期1,日期2) dateadd()函数返回两个日期之间的天数 dateadd(日期类型,天数,日期) 是一种简单的条件判断转换的一个函数 简单case函数:case 字段 when ‘1’ then ‘a’ when ‘2’ then ‘b’ else ‘c’end case搜索函数:case when 字段=’1′ then ‘a’ when 字段=’2′ then ‘b’ else ‘c’ end
SQL Server数据库简介:
1,主要特性
2,SQL安装
1Z0G9-67285-FZG78-ZL3Q2-234JG 4C4EK-89KDL-5ZFP9-1LA5P-2A0J0 HY086-4T01N-CZ3U0-CV0QM-13DNU
3,SQL数据库创建
create database Tset01 --数据库名称 on Primary ( name ='Test01_1', --数据文件名称 filename='E:SQL数据库Test01_1.mdf', --保存地址 size=10mb, --起初大小 maxsize=100mb, --最大大小 filegrowth=5mb --增长速率 ) log on ( name ='Test01_2', --日志文件名称 filename='E:SQL数据库Test01_2.ldf', size=5mb, maxsize=50mb, filegrowth=5mb )
4,关于数据库的操作
4.1,SQL数据库的修改和删除
4.1.1 修改
modify name=newname;
modify file(
name =’将要修改的文件名称’, –这个文件名称不能修改
size=20mb,
maxsize=50mb,
filegrowth=1mb
);
alter database Tset01 --修改名字 modify name=Test02; alter database Test02 --修改属性 modify file( name ='Test01_1', size=20mb, maxsize=50mb, filegrowth=1mb ); exec SP_HELPDB Test02; --查看数据库结构
4.1.2 删除
create database Test; --创建一个新数据库 drop database Test; --将新创建的数据库删除
4.2,SQL数据类型
4.2.1 数字类型
数据类型
描述
存储
tinyint
允许从 0 到 255 的所有数字。
1 字节
smallint
允许从 -32,768 到 32,767 的所有数字。
2 字节
int
允许从 -2,147,483,648 到 2,147,483,647 的所有数字。
4 字节
bigint
允许介于 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。
8 字节
decimal(p,s)
5-17 字节
numeric(p,s)
5-17 字节
smallmoney
介于 -214,748.3648 和 214,748.3647 之间的货币数据。
4 字节
money
介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。
8 字节
float(n)
从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。 参数 n 指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。
4 或 8 字节
real
从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。
4 字节
4.2.2时间类型
数据类型
描述
存储
datetime
从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。
8 bytes
datetime2
从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。
6-8 bytes
smalldatetime
从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。
4 bytes
date
仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。
3 bytes
time
仅存储时间。精度为 100 纳秒。
3-5 bytes
datetimeoffset
与 datetime2 相同,外加时区偏移。
8-10 bytes
timestamp
存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。
4.2.3字符串类型
数据类型
描述
存储
char(n)
固定长度的字符串。最多 8,000 个字符。
n
varchar(n)
可变长度的字符串。最多 8,000 个字符。
varchar(max)
可变长度的字符串。最多 1,073,741,824 个字符。
text
可变长度的字符串。最多 2GB 字符数据。
5,关于表的操作
5.1 创建表
属性 数据类型 primary key not null,
属性 数据类型(自行添加是否可以为空),
………………
);
primary key(ID,name)
create table Student( ID int primary key not null, name varchar(10) not null, age int not null, claseID int );
5.2 修改,删除表结构
5.2.1 修改表结构
alter column 字段名 类型的长度;
alter column 字段名 更改后的类型;
alter column 字段名 数据类型 not null;
add constraint 主键名称 primary key(字段名)
‘更改后的字段名’,’column’
--更改字段长度 alter table Student alter column name varchar(100); --更改字段类型 alter table Student alter column age float; --添加not null约束 alter table student alter column classID int not null; --设置主键(前提是表结构中没有设置主键) alter table student add constraint Kname primary key(name); --更改字段名 EXEC sp_rename 'student.age', 'ages','column'; --添加字段名 alter table student add num int default null
5.2.2删除表结构
--删除表结构 drop table student;
5.3 定义主键外键
5.3.1 增加主键(上面都有)
add constraint 主键名 primary key(属性);5.3.2 删除主键
5.3.3 添加外键
add constraint 外键名字 foreign key(增加外键字段) references 主键表(主键字段);
alter table student add constraint F_classid foreign key(classid) references class(classid);
5.3.4 删除外键
5.4 新增表数据
values(值1,值2,值3);
values(值1,值2,值3),(值1,值2,值3),(值1,值2,值3)……;
--插入一行数据 insert into Student1 (ID,name,age,claseID) values(1,'小明',12,11); --插入多行数据 insert into Student1 (ID,name,age,claseID) values(2,'小红',13,3), (3,'小刚',14,3), (4,'小陈',15,4), (5,'小李',16,4);
5.5 查询表结构
select * from Student1; select name,id from student1;
5.5.1 DistinctTop用法
select distinct * from Student1; select top 3 name,id from student1;
5.6 修改表数据
set 字段名 = 新数据
update student1 set id = 5 where name='小明'; --限制条件,修改哪一条数据
5.7 删除表记录
delete from student1 where name='小明' --限制条件,删除哪一行
6,语句
6.1 条件限制while
6.2 between语法
select distinct * from Student1 where age not between 13 and 15;
6.3 子查询in
select distinct * from Student1 where age in(13,14,15);
6.4 子查询EXISTS
select *from student --显示两表中共同的数据 where exists(select *from class where Student.classid=Class.classID)
6.5返回记录排序
select *from student order by classID asc,age desc
6.6 关联查询
6.6.1 inner join
inner join 表2
on 表1.字段=表2.字段6.6.2 left join
left join 表2
on 表1.字段=表2.字段
6.6.3 right join
right join 表2
on 表1.字段=表2.字段
select *from student --交叉关联 inner join class on student.classid=class.classID select *from student --左关联 left join class on student.classid=class.classID select *from student --右关联 right join class on student.classid=class.classID
7,函数
7.1 聚合函数avg(),sum()
7.1.1 avg()
7.1.2 sum()
select sum(Student.age) as’年龄总和’ from student7.2 聚合函数min(),max()
7.2.1 min()
7.2.2 max()
select max(Student.age) as’年龄最大’ from student7.3 count()和sum()函数
7.3.1 sum()
7.3.2 count()
7.4 len()函数
select len(Student.age) as'字符数' from student select datalength(Student.age) as'字节数' from student
7.5 随机数产生
select rand() select floor(rand()) select ceiling(rand())
7.6 getdate()和getutcdate()函数
select getdate() as '当前时间' select GETUTCDATE() as '国际标准时间'
7.7 convert()函数
格式数字
对应格式
0 或 100 (*)
mon dd yyyy hh:miAM(或 PM)
101
mm/dd/yyyy
102
yy.mm.dd
103
dd/mm/yy
104
dd.mm.yy
105
dd-mm-yy
106
dd mon yy
107
mon dd, yy
108
hh:mm:ss
9 或 109 (*)
mon dd yyyy hh:mi:ss:mmmAM(或 PM)
110
mm-dd-yy
111
yy/mm/dd
112
yymmdd
13 或 113 (*)
dd mon yyyy hh:mm:ss:mmm(24h)
114
hh:mi:ss:mmm(24h)
20 或 120 (*)
yyyy-mm-dd hh:mm:ss[.fff]
21 或 121 (*)
yyyy-mm-dd hh:mm:ss[.fff]
126(***)
yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
130*
dd mon yyyy hh:mi:ss:mmmAM
131*
select CONVERT(varchar(50),getdate(),101) select CONVERT(varchar(50),getdate(),102) select CONVERT(varchar(50),getdate(),103) select CONVERT(varchar(50),getdate(),104) select CONVERT(varchar(50),getdate(),105) select CONVERT(varchar(50),getdate(),106) select CONVERT(varchar(50),getdate(),107) select CONVERT(varchar(50),getdate(),108) select CONVERT(varchar(50),getdate(),109) select CONVERT(varchar(50),getdate(),110)
7.8 datediff()函数
select dateadd(YY,5,'08-12-29 16:25:46.635') select dateadd(MM,5,'08-12-29 16:25:46.635') select dateadd(DD,5,'08-12-29 16:25:46.635') select dateadd(HH,5,'08-12-29 16:25:46.635')
7.9 datepart()函数
select DATEPART(yy,GETDATE()) select DATEPART(mm,GETDATE()) select DATEPART(dd,GETDATE()) select DATEPART(hh,GETDATE()) select DATEPART(mi,GETDATE()) select DATEPART(ss,GETDATE()) select DATENAME(yy,GETDATE()) --varchar类型 select YEAR(GETDATE()) select month(GETDATE()) select day(GETDATE())
7.10 charindex()和patindex()函数
7.10.1 charindex()函数
7.10.2 patindex()函数
select charindex('c','abcdefg') select charindex('c','abcdefg',5) select PATINDEX('%g','abcdefg') select PATINDEX('g%','abcdefg') select PATINDEX('%g%','abcdefg')
7.11 stuff()函数
select stuff('aabbccddee',5,4,'') select stuff('aabbccddee',5,4,'111111')
7.12 substring()函数
select substring('aabbccddee',5,4)
7.13 left()和right()函数
select left('aabbccddee',5) select RIGHT('aabbccddee',5)
7.14 ltrim()和rtrim()函数
select ltrim(' aabbcc ddee ') select rtrim(' aabbcc ddee ')
7.15 upper()和lower()函数
select upper('aabbccddee') select lower('aabbccddee')
7.16 replace()函数
select replace('aabbccddeeaa','aa','11')
7.17 replicate()和space()函数
select replicate('aa',5) select space(5) select replicate('aa',5)+space(5)+replicate('aa',5)
7.18 reverse()函数
select reverse('aabbccddee')
7.19 cast()函数
select cast(111 as varchar(10)) select cast(111 as varchar(10))+'aaaa'
7.20 case()函数
select *,case id when '1' then '一号' when '2' then '二号' else '其它'end from student select *,case when age<12 then '儿童' when age<15 and age>=12 then '青少年' else '少年'end from student
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算