SQL Server(数据库)

    master    系统数据库
    model    模型数据库
    tempdb    临时数据库
    msdb    警报日志信息

数据库当中需要记住常用的几个数据类型:
 varchar     字符串
 text        文本
 int         整数
 float       小数
 datetime    日期时间
 bit         布尔类型

--创建表:create table 表名(
    字段名 数据类型
)
--增删改查
--添加数据
--insert into 表名 values(字段1值,字段2值..);
insert into Student values('阿蛋','男',18,'嘻嘻','长沙','嘿嘿嘿')
--给指定字段添加数据:
--insert into 表名(字段,字段。。) values(字段1值,字段2值....);
insert into Student(sname,sage) values('阿昊',17)
--案例1:添加一个学生,添加姓名、性别、地址
insert into Student(sname,ssex,saddress)values('阿俊','女','娄底')
insert into Student(sname,sage,saddress)values('阿辉','18','娄底')

--查询数据
--查询所有:*
select * from Student
--查询指定字段的值
--select 字段名,字段名,字段名.. from 表名
--案例:查询学生学号  和 姓名
select sid,sname from Student
--条件查询:where
--查询所有的男生信息
select * from Student where ssex='男';
--案例:查询所有地址是长沙的 学生信息
select * from Student where saddress='长沙'

--and:且 &&
--查询年龄在16到18岁之间的学生信息
select * from Student where sage>=16 and sage<=18
--between and:从。。。到。。。
select * from Student where sage between 17 and 18

--like 模糊查询
    --占位符:_:表示一个字符位置,%:表示任意个字符位置
--找到刘姓的学生
select * from Student where sname like '刘%';
--找到蛋字结尾的两个字姓名的学生信息
select * from Student where sname like '_蛋'
--查询所有
select * from Student where sname like '__' or sname like '_'
--单纯不显示两个字的
select * from Student where sname like '_' or sname like '___%'

--排序:order by  默认:升序,asc:升序,desc:降序
select * from Student order by sid desc
--len()求字符串长度
select sname,len(sname) '长度' from Student

--起别名
select sid '学号',sname '姓名',ssex '性别' from Student;
select sid as '学号',sname as '姓名',ssex as '性别' from Student;
select '学号'=sid,'姓名'=sname,'性别'=ssex from Student;

select * from Student 

--修改数据
--update...set
--update 表名 set 字段名=值,字段名=值.. where 条件
--把阿昊的 性别改为男
update Student set ssex='男' where sname='阿昊'
--把名字为 阿俊的 年龄改为19,爱好改为敲代码 介绍改为 嗨嗨嗨
update student set sage=19,slike='敲代码',sinfo='嗨嗨嗨' where sname='阿俊'
--把所有人的年龄都加1岁
update Student set sage=sage+1;
--问:空值可以加1吗? 答:可以运行不报错 但是不会加值

--把学号5 的 学生姓名改为张三
update Student set sname='张三' where sid=5 

--删除数据delete
--delete Student [where 条件]
--删除学生的所有信息
delete Student
--删除名字叫狗蛋的
delete Student where sname='狗蛋'
--删除所有名字包含蛋字的
delete Student where sname like '%蛋%' 

--删除表

--drop table 表名

--字符串函数
--找第一次出现的位置(不区分大小写),如果没找到结果为0
select charindex('a','AMySaqalserCourse')
--从指定位置开始往后找第一次出现的位置,如果没找到结果为0
select charindex('a','aMySaqalserCourse',5)

--len:返回字符串的长度
select len('小阿俊')

--lower:转小写
select LOWER('SQL')

--upper:转大写
select upper('sql')

--ltrim:去除左边的空格
select LTRIM('    1      阿欢 ')
--rtrim:去除右边的空格
select rtrim('    小  雄  业        ')
--right();从右边获取指定个字符
select right('何永琪',1);
--left();从左边获取指定个字符
select LEFT('嘻嘻嘻,嘿嘿嘿',5)
--replace:替换
select replace('今天是个好日子的是','子','老父亲')

--日期函数
--获取当前系统时间
select getdate()

--给时间1999-12-31 添加10天
select dateadd(dd,10,'1999-12-31')
--给当前系统时间添加5个月
select dateadd(mm,-5,getdate())

--求出两个日期之间相差的日期
--相差的日
select datediff(dd,'1999-12-31','1999-12-1')

select datediff(mm,'1999-1-13','1999-12-1')

select datediff(yy,'1999-12-31',getdate())

--字符串日期:这里不能自动转换(日期不对不能自动转换  11月没有31号)
select datediff(mm,'1990-11-31','1999-12-31')

--获取指定日期(年、月、日)
select datename(mi,'1999-1-1 10:12:32')

--获取日期的整数形式
select datepart(mm,getdate())

--获取当前系统时间
select year(getdate())--年
--查询当前系统时间的月
select month(getdate())
--查询当前的系统时间中的天
select day(getdate())

--使用函数格式:
--select 函数名([参数])


select 10+10
--字符串数字会自动转换为数值进行运算
select '10'+10

select '10a'+10
select convert(int,'123a')

--求出字符串字节长度(字母占1个、汉字:2)
select datalength('阿旭')
--字符长度(字符个数)
select len('阿旭')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值