1、文件类型

【1】主数据文件数据库启动信息扩展名为”.mdf“。

【2】次要(辅助)数据文件:主数据之外的数据都是次要数据文件。扩展名为”.ndf“。

【3】事务日志文件包含恢复数据库的所有事务日志信息。扩展名为”.ldf“。

【4】文件流数据文件存储文档图片音频视频等。

2、表的基本感念。

行:每行成为一条记录“或”元组“,用于描述一个对象的信息。

列:每列称为一个字段“或”属性“,用于描述对象一个属性

3、主键外键

主键:键,即关键字。主键由一个多个字段组成,其具有唯一不允许取空值(NULL)。一个表只能有一个主键

外键:一个关系数据库通常包含多个表,通过外键可以使多个表关联起来

4、常用数据类型

精确数字

        int:SQL Server中的主要数据类型。(整数型)

        bit只有两种可以能值。只能是0、1或NULL(空值),Yes或No、True或False。(整数型)

        money用来表示钱和货币值。

        

日期时间

        date用于表示日期

        time用于表示一天中的某个时间

        datetime用于表示日期时间

        

字符串

        char存储固定长度

        varchar存储可变长度

        

Unicode字符串

        nchar存储固定Unicode字符型数据。

        nvarchar存储变长Unicode字符型数据。

5、创建表。

创建表的基本语法

create table 表名
(
    列名1 数据类型(大小)
    列名2 数据类型(大小)
    列名3 数据类型(大小)
    ……

)

identity(1,1):表示该列为标识符种子和增量值都为1。

not null:表示该列不允许空值

primary key:表示该列为主键列,并且为空

check():表示该列创建约束括号内为约束条件

命令参考

##创建employee
create table employee
(
编号 int identity(1,1) not null,
姓名 nvarchar(50) not null,
身份证号 varchar(18) primary key,
职务 nvarchar(50) not null,
生日datetime not null,
基本工资 money not null check(基本工资&gt;=0 and 基本工资<=100000)
)

##使用命令查看employee的所有信息
select * from employee

6、删除表。语法:[ drop table 表名 ]

命令参考

##删除表employee
drop table employee

7、修改表的结构。[ alter table 表名 ]

1、向表employee中添加一个”备注“列。 

添加基本语法

alter table 表名
add 列名 数据类型(大小)

命令参考

##向表中添加备注
alter table employee
add 备注 nvarchar(2000)

8、修改列。 

修改列的数据类型

alter table 表名

alter column 列名 数据类型(大小)

命令参考

##修改备注列的长度为1000
alter table employee
alter column 备注 nvarchar(1000)

8、删除列。

删除列基本语法

alter table 表名

drop column 列名

命令参考

##删除表中的备注列
alter table employee
drop column 备注

10、插入数据。语法:[ insert into 表名 (列名) values (列表值) ]

注意事项

1、向表中插入一行数据。

命令参考

 insert into employee (姓名,身份证号,职务,出生日期,基本工资)
values (‘郭靖’,’111222333444555666′,’运维工程师‘,’1995/1/1’,8000)

11、 更新数据。语法:[ update 表名 set 列名=更新值 where 更新条件 ]

1、更新表中黄蓉的基本工资为11000;更新表中郭靖的工资为”9000″,备注为”勤奋好学”

命令参考

update employee set 基本工资=’11000′ where 姓名=’黄蓉’

update employee set 基本工资=’9000′,备注=’勤奋好学’ where 姓名=’郭靖’

12、删除表中数据的两种方法。 (deletetruncate

12.1、删除表中数据。语法:[ delete from 表名 where 删除条件

1、删除表中杨过的记录(行);删除表中所有记录。

命令参考

delete from employee where 姓名=’杨过’  

delete from employee  

12.2、删除表中数据。[ truncate table 表名 ](类似格式化表中数据)

【1】与delete删除数据不同的是,truncate类似格式化,删除所有记录标识符重置为0

【2】delete删除后可以通过事务日志恢复,而truncate不能。

1、删除表中的所有记录。

13、select查询。 

表达式

        between指定范围使用and定义开始值和结束值。例:(1 and 10)

        in是否在此范围内。例:in (10,20,30)

        like模糊查询。例:like ‘66%’  //66开头的数据

        <&gt;:不等于。

        !=:不等于,等同于<&gt;。

通配符

        ‘_‘:表示个字符

        %:表示任意长度字符串

        [ ]:表示查找范围内的数据。例:like ‘[C-P]’  //从C到P之间开头的数据

        [^]:表示不查找在此范围内的数据。例:likecar[^afg]’  //查找car开头但是后面的字母不为a、f、g名字

逻辑表达式

        not:取反操作

        and:和、并且的意思,需要同时满足两个条件

        or: 或的意思,只需要满足两个条件其中一个即可

13.1、案例

//查询表中的所有信息
select * from employee


//查询表中的"姓名,职务,基本工资"列
select 姓名,职务,基本工资 from employee


//查询表中运维工程师的姓名
select 姓名 from employee
where 职务='运维工程师'


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


//查询表中基本工资小于10000或大于20000的所有员工信息
select * from employee 
where 基本工资<10000 or 基本工资&gt;20000


//查询表中基本工资为8000、9000、10000的所有员工信息
select * from employee 
where 基本工资 in (8000,9000,10000)


//查询表中身份证号以66开头员工所有信息
select * from employee 
where 身份证号 like '66%'


//查询表中姓杨的运维工程师的信息。
select * from employee 
where 姓名 like '杨%' and 职务='运维工程师'


//查询表中备注不为空的所有信息
select * from employee 
where 备注 is not null


//查询表中前5行的数据
select top 5 * from employee


//查询表中姓名和身份证号列的信息,姓名和身份证号别名"name"、"idcard"显示
select 姓名 as name,身份证号 as idcard from employee


//查询表中的基本工资,并以降序显示(高到低)
select * from employee 
order by 基本工资 desc


//查询表中的有哪些职务(去重)
select distinct 职务 from employee


//查询表中的姓名(name)、身份证号、职务、基本工资信息,条件要满足身份证号第三位为0并且职务不是CTO,在降序显示
select 姓名 as name,身份证号,职务,基本工资 from employee
where 身份证like '__0' and 职务!='CTO'
order by 基本工资 desc

14、使用select查询后加入新表或查询后创建新表。

需要事先创建新表

//查询employee表中的姓名、身份证号、职务信息后创建然后保存new01表中
select 姓名,身份证号,职务 into new01 from employee

需要事先创建新表再能将查询到的信息保存到新表

//查询employee表中的姓名、职务、出生日期并且基本工资大于等于15000的员工信息,保存new02表中
insert into new02 (姓名,职务, 出生日期)
select 姓名,职务,出生日期 from employee
where 基本工资>=15000


//查询employee表中的姓名、职务、出生日期信息保存到new03中,然后向new03中加入信息
select into new03 (姓名,职务,出生日期)
select '欧阳锋','人事经理','1988-09-09' union
select '一灯','财务经理','1977-07-07' union
select 姓名,职务,出生日期 from employee

15、在查询中使用函数

系统函数

字符串函数

日期函数

15.1、案例

//查询运维工程师的姓名和基本工资,以固定格式显示
select '运维工程师 ' +姓名+' 的基本工资是: '+cast(基本工资 as varchar(10))+'元'
from employee
where 职务='运维工程师'


//查询当前系统时间10天之后的时间
select dateadd(DD,10,getdate())


//查询表中的表中所有人的姓名和年龄
select 姓名,datediff(YY,出生日期,getdate()) as 年龄
from employee


//查询表中90后的员工姓名和出生年份
select 姓名,datename(YEAR,出生日期) as 出生日期
from employee
where 出生日期 between '1990-01-01' and '1999-12-31'


//查询表中基本工资的总和
select sum(基本工资) as 总工资 
from employee


//查询表中基本工资的平均值
select avg(基本工资) as 平均工资 
from employee


//查询表中最高工资和最低工资的员工信息
select max(基本工资) as 最高工资,min(基本工资) as 最低工资 
from employee


//查询表中的总行数
select count(*) as 总行数 
from employee


//查询表中90后的总人数
select count(出生日期) as '90后人数'
from employee
where 出生日期>='1990-01-01'


//查询表中各个职务的平均工资
select 职务,avg(基本工资) as 职务平均工资 
from employee
group by 职务


//查询表各个职务的平均工资小于10000的信息
select 职务,avg(基本工资) as 职务平均工资
from employee
group by 职务
having avg(基本工资)<10000


//查询表中各个职务平均工资小于10000并且姓名不是段誉
select 职务,avg(基本工资) as 职务总工资 
from employee
where 姓名 !='段誉' 
group by 职务
having avg(基本工资) <10000

数字函数

15.2、案例

//查询表中的平均工资并取整
select ceiling(avg(基本工资)) as 平均工资
from employee

15.3、函数综合案例

查询未满30岁的员工的生日和年龄,并且计算距离30岁的天数最后字符串拼接显示结果

select
'员工 '+姓名+
' 的生日是'+convert(varchar(10),出生日期,111)+
', 现在年龄是 '+cast(datediff(YY,出生日期,getdate()) as varchar(10))+'岁'+
', 距离30岁还有 '+
cast(datediff(DD,getdate(),dateadd(YY,30,出生日期)) as varchar(10))+'天'
from employee
where datediff(YY,出生日期,getdate())<=30
order by 出生日期

原文地址:https://blog.csdn.net/hey1616/article/details/134694581

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_32724.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注