数据库基础

创建表格式:

创建表格式:create tsble 表名(
    字段值1 数据类型,
    字段值2 数据类型
    ...
)

添加数据:

--添加数据
--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('         蒋欢 ')
--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())

--字符串日期:这里不能自动转换
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,'123q')

--求出做饭吃长度(字母占一个,汉字占两个)
select datalength('她妈说十万')
--字符长度(字符个数)
select len('烂粑')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值