1、认识四大数据库以及其他单词
master 系统数据库
model 模型数据库
tempdb 临时数据库
msdb 警报日志信息
查询:select
新建:create
删除:drop
数据库:database
2、数据类型:
int
float
varchar(长度)
char(长度)
datetime 日期时间
bit 布尔类型
举例:
sname varchar(10)
如:张三(实际占用四个)
sname char(10)
如:狗蛋(实际占用10个)
char:每一个字符都对应一个编号
3、创建
创建数据库:
treate databse 数据库名
创建表
treate table 表名(
字段名1 数据类型,
字段名2 数据类型,
)
4、插入数据
方法一:
insert into 表(字段1,字段2 ) values(字段1值,字段值2)
方法二:
insert into score values(字段1值,字段值2)
5、删除:
删除数据库
drop database 数据库名
删除表
drop table 表名
6、查询:
查询表
select * from Student;
查询指定字段的值
select 字段名,字段名,字段名.. from 表名
条件查询:where
select * from 表名where 字段名=条件;
查询年龄在16到18岁之间的学生信息
and:且 &&
select * from 表名where 字段 名>=条件 and 字段名<=条件
between and:从。。。到。。。
select * from 表名where 字段名 between 条件and 条件
like: 模糊查询
占位符:_:表示一个字符位置,%:表示任意个字符位置
select * from 表名where 字段名 like '条件%';
如:找到刘姓的学生
select * from Student where sname like '刘%';
排序:order by 默认:升序,asc:升序,desc:降序
select * from 表名 order by 字段名 desc
len()求字符串长度
select 字段名,len(字段名) '长度' from 表名
起别名(举例):
select sid '学号',sname '姓名',ssex '性别' from Student;
select sid as '学号',sname as '姓名',ssex as '性别' from Student;
select '学号'=sid,'姓名'=sname,'性别'=ssex from Student;
7、修改数据
update...set
update 表名 set 字段名=值,字段名=值.. where 条件
删除数据delete
delete Student [where 条件]
删除表中的所有信息
delete 表名
删除所有中带。。。的
delete 表名where 字段名='条件'
删除所有中包含。。。的
delete 表名 where 字段名 like '%条件%'
8、切库:
use 库名
9、函数:
1.字符串函数
--找第一次出现的位置(不区分大小写),如果没找到结果为0
select charindex('a','AMySaqalserCourse')
返回:1
--从指定位置开始往后找第一次出现的位置,如果没找到结果为0
select charindex('a','aMySaqalserCourse',5)
返回:5
--len:返回字符串的长度
select len('张三')
返回:2
--lower:转小写
select LOWER('SQL')
返回:sql
--upper:转大写
select upper('sql')
返回:SQL
--ltrim:去除左边的空格
select LTRIM(' 张三 ')
--rtrim:去除右边的空格
select rtrim(' 李 四 ')
--right();从右边获取指定个字符
select right('李四',1);
返回:四
--left();从左边获取指定个字符
select LEFT('嗨嗨害,嘿嘿嘿',5)
返回:嗨嗨害,嘿
--replace:替换
select replace('今天是个喝热水的好日子','热','冰')
返回:今天是个喝冰水的好日子
2.日期函数
--获取当前系统时间
select getdate()
--给时间1999-12-31 添加10天
select dateadd(dd,10,'1999-12-31')
返回:2000-1-10
--给当前系统时间添加5个月
select dateadd(mm,-5,getdate())
--求出两个日期之间相差的日期
--相差的日
select datediff(dd,'1999-12-1','1999-12-31')
返回:30
--相差的月
select datediff(mm,'1999-1-13','1999-12-1')
返回:11
--相差的年
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')
返回秒:32
--获取日期的整数形式
select datepart(mm,getdate())
--获取当前系统时间
select year(getdate())--年
--查询当前系统时间的月
select month(getdate())
--查询当前的系统时间中的天
select day(getdate())
--使用函数格式:
--select 函数名([参数])
3.数字函数
--ABS 数值的绝对值
select ABS(-43)
返回:43
--CEILNG 返回大于或等于数字的最小整数
select CEILNG (43.5)
返回:44
--FLOOR 返回小于或等于数字的最大整数
select FLOOR (43.5)
返回:43
--POWER 数值的幂值
select POWER(5,2)
返回:25
--ROUND 数值四舍五入
select ROUND(43.443,1)
返回:43.5
--Sign 正数返回+1,负数返回-1,0则返回0
select Sign(-43)
返回:-1
--Sqrt 开平方
select Sqrt(9)
返回:3
-- CONVERT/CAST 字符串数字会自动转换为数值进行运算(可省略)
select '10'+10=select 10+10
select '10a'+10(报错)
select convert(int,'123a')(转换成数据类型 int 时失败)
--DATALENGTH 字符串字节长度(字母占1个、汉字:2)
select datalength('李四')
返回:4
--字符长度(字符个数)
select len('张三')
返回:2