SQL数据库

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值