创建表格式:
创建表格式: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('烂粑')