数据库有多重要,其实不用我说,但该怎么运用好数据库下SQL语句与其它的如“函数”等等,那就需要我们大家多多去练习并总结其中的窍门,或许你的总结没那么好,担只要你的练习足够多,就算那不是窍门,那也将是你在学习中最好的收获。

   所以,我想送给大家也送给我自己这样一句话:“练习不在多,只在为知识点总结、为你的学业道路能够稍微平坦那么一点。”成功背后的艰辛我不会有多少感受,就算我们心里有那么多”这与那“,但只要能够坚持,往往成功就在坚持的下一秒,但下一秒在哪?我们都无从得知,也许在我们的心中、也许!!!,正因为我们都有太多的也许才让我们心里的渴望、期待等不断增强,祝福话听多了总归不好,只希望我们都能放下心中的那么多”也许“,方向永远只有前方一个,所以迸发吧。

那么我就来揭幕”SQL语句操作数据“与”查询基础的一些函数(例如:字符串、日期、数学、以及系统函数等)“。

01.SQL语句书写规范

1,.在SQL Sever中,SQL语句不区分大小写(数据库名,表名,列名,关键字) ,SQL编译器都识别

2,对表进行操作的时候,一定要使先用use关键字切换到对应的数据库

3.自增列不可以赋值

  02.新增数据注意事项

1.如果新增全部列,那么表名后可以不跟列名,但是要提供所有列的值,除非当前   列有默认值,那么也要给出default关键字。

2.如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出   的列的值之外,其他列都允许为空或者有默认值。

  insert into goodPerson(stuName,stuAge) values('张晓玲',) 

    03. 一次性向一张表中插入多条数据的解决方案 方案一

insert into 目标表  select  * from 原表

 注意事项:如果目标中有自增列,那么不能使用*号  

方案二

select *  into 目标表(不存在)   from 原表

该方式只保留了数据和子自增列,但是主键等约束就都没有了

方案三

insert into 目标表(存在)   select '高一二班'   union   select '高一五班' 

 04.几个注意点

1.以后大家见到update语句,一定要跟where条件,打死也要跟。

2.在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null

  05.讨论delete和truncate区别?

01.delete 后可以跟where条件,而truncate不行

02.delete删除数据的时候会记录日志,而truncate不会

03.delete删除表中所有数据库,id编号不会从1开始,而truncate会。

解析:因为truncate又称为“截断表”。编号从1开始。

 --.如果要进行数据表中数据的查询,那么必须先定位到该表所在的数据库 use Myschool 

--切换数据库 select StuId, StuName, StuAge, GradeId from Student 

--我只想要年龄小于岁的学员信息 select * from Student  where StuAge<= 

--新增数据 insert into GoodPerson values ('微冷的雨',,'中国某地区','未知','希望大家努力学习,将来薪资K') select * from goodperson

insert into goodperson(stuName,stuAge,stuAddress,stuLike,stuWishes) values('张靓颖',,default,'大家微笑的脸庞','开心就好')

insert into goodPerson(stuName,stuAge) values('张晓玲',) delete from goodperson where StuId=

select * from goodPerson2

-- 一次性向一张表中写入多条数据方案一 insert into goodPerson2 select  StuName, stuAge, stuAddress, stuLike, stuWishes from goodPerson delete from goodperson2

--方案二 select * into goodpersonbak from goodperson

--方案三: select * from grade

insert into grade   select '高一二班'   union   select '高一五班'

--更新高一三班位"无敌S1290" update grade set gradename='无敌S1290' where gradename='高一三班' --将"王龙彪" 改成"李小龙" --将年龄为岁的学员年龄改成 update goodpersonbak set stuname='李小龙',stuage= where stuname='微冷的雨' select * from goodpersonbak update goodpersonbak set stuname='微冷的鳄鱼',stuage= where stuid=

select * from goodperson insert into goodperson(stuname,stuage,stulike) values('李小龙',,'吃faN')

select * from goodperson where stuwishes is null

update grade set gradename='S1' select * from goodpersonbak

看到这些,我们是不是该看一些数据查询基础啦,

数据查询基础 是什么呢?看看就知道了!

01.关于*会引起全表扫描问题 use MessageBoard select * from Message

--内存中 --*号会引起全表扫描,所以在真正的开发中,不推荐使用。最好使用

--确切的列名。

02.查找留言人是“罗雨萌”的所有留言信息

 select * from Message where msgAuthor='罗雨萌'

03常见问题:

--01.SQL语句不区分大小写

--02.字符串和日期类型都需要单引号

--03.起表名的时候,千万不要起得太好,例如不要使用User作为表名。

-- 如果表名和关键字重复了,我们可以通过[]取消转义。

select * from [User]

--04.千万注意新建查询窗口中的中文空格。

select  * from Message 

04.别名 --别名方案一

select msgAuthor as 留言人,msgContent as 留言内容 from Message

select msgAuthor  留言人,msgContent  留言内容 from Message

--别名方案二

select 留言人=msgAuthor,留言内容=msgContent from Message

05.将多列合并成一列显示 select msgAuthor+'____'+msgContent as 留言人说的留言是一种留言留言 from Message

06.常量列 select *,'汉族'as 民族  from Message

07.常见事项说明 --通过Ctrl+R:可以显示和隐藏结果集窗口 --真正的安装顺序,先安装数据库,再装其他软件。 --换一个版本。,换安装包 --换系统 --来找我,我都解决不了,那么就是人品

08.关于top关键字 --限制只检索前几条数据

use MySchool select top  * from student where Gender=''

--按主键 --获取Student表中的前20%的数据 --能大概推断表中总共的数据数

select top  percent * from student

--脚本语言:不需要编译器进行编译,就可以直接解析执行的代码 --编译语言: --从高版本向低版本附加,附加不上。

--比如说:

 SQL Server 2008

SQL  Server  2005

09.Order by相关     select * from Student

--默认按主键升序排序

select * from student order by Gender desc

--按照多列排序(先按年级,再按性别)

select * from student order by GradeId asc,Gender desc 

--查询北京的男同学

 select * from student where Address like '%北京%' and Gender=''

--查询“李X龙”的信息

select * from student where StudentName like '李_龙' 

10.通配符:

--%:任意长度的任意字符,(包含0个)

--:_:任意的单个字符,只能是一个 --查询考试成绩前五名的分数

select top   StudentNo,SubjectId,Studentresult from result order by Studentresult desc

--学号科目编号和分数(只要前3个人的)

--01.order by

--02.where后多个条件通过and连接,order by才用逗号

--03.=(完全匹配)和like(模糊查询)

接下来就是最后最繁琐的函数梳理,希望你们能更细致一点的去看:

  11.字符串函数

--函数名称:CharIndex('str1','str2',index)//位置从开始

--参数含义:

--第一个参数:要查询的字符串

--第二个参数:在哪个字符串中搜索

--第三个参数:从str2的第几个字母开始搜索

--注意点:如果在str2中没有找到str1,那么返回

--案例:

 select charindex('好好学','S1是S2的基础,所以大家好好学',)
SELECT CHARINDEX('JBNS','My Jbns Course')  select charindex('微冷的雨','好人啊微冷的雨',) select charindex('妈妈说','我们要为国家争光,妈妈说,是人就要有理想',) 

--len():获取小括号中字符串的长度,空格也算一个字符长度

SELECT CHARINDEX('JBNS','My Jbns Course')  select charindex('微冷的雨','好人啊微冷的雨',) select charindex('妈妈说','我们要为国家争光,妈妈说,是人就要有理想',) 

--注意点:如果内容以多个空格结尾,那么结尾的多个空格,是不计算长度的

--例如:

select len('我们都是好孩子                                        ')

SELECT LEN('SQL Server课程') select len('我是这个世界上最大的王,你信吗?')

--upper():将括号中出现的英文全部转换成大写

select len('我们都是好孩子                                        ')

SELECT LEN('SQL Server课程') select len('我是这个世界上最大的王,你信吗?')

--LTrim():清除括号中内容左边的空格

(left:right) select ltrim('                              生活不是林黛玉,      ' select rtrim('         生活不是林黛玉,      ')

--既想移除左边空格,也想移除右边空格

select rtrim(ltrim('         生活不是林黛玉,      ')) select ltrim(rtrim('   你还好吧!   '))

--思路灵活

select len(rtrim('今年奇怪了,北京没下雪,去去去    '))

--substring('字符串',截取的位置,截取的长度)

select substring('我是中国人,我爱自己伟大的祖国,真的',,) 

--right():从字符串右边返回指定类型的字符

select left('大家今天好像都没有交日记本,我去',) select right('大家今天好像都没有交日记本,我去',)

--replace('str1','要替换的字符','目标字符'):

 select replace('周杰伦,残疾人,虽然手不残疾,但是X残疾','残疾','好')

--stuff('字符串',删除的起始位置,删除的长度,'插入的字符串')

select stuff('我爱你中国,我爱你故乡',,,'北京') select stuff('我们都要有理想,为了理想我们熬夜,当然以牺牲身体为代价',,,'自信')

  12.日期函数

--01.getdate():获取当前日期和时间 select getdate()

--1000ms是s

--02.dateadd(按年/月/日添加,增量,时间)

select dateadd(yy,,'2014-8-6') select dateadd(year,-,getdate()) 

--03.datediff(按年/月/日求差,小时间,大时间)

--高梓贺    select datediff(year,'1998-01-01',getdate())

--04.datename:获取某个日期是星期几 select datename(dw,'2014-08-06')

--05.datepart(mm,日期):获取指定日期对应的年/月/日部分  select datepart(yy,getdate())

--Year yy --Month mm --Day  dd --push(推)  pull(拉)

--通过该方式也可以获取当天是周几 select datepart(dw,getdate())

     --13数学函数

--01.rand():产生一个到之间的随机数

select right(rand(),) Select rand()

--如果产生四位数(-9999)

--02.abs:取绝对值 select abs(-10) select abs(10) --非负数

--03.ceiling:天花板,你要看天花板,抬头,向上取整 select ceiling(1.999991)

--04.floor:向下取整 select floor(1.999999)

select ceiling(1.000000000000001) select floor(2.999999999999999) 

--05.power(5,2)求幂值

select power(,) select */+-+-/

--06.round:将一个数字四舍五入到指定精度  select round(42.564,1)

--07.sign:如果括号中写的是一个正数,返回,如果是负数,返回-1

--如果是返回 select sign(20)

select sign(0)

--08.sqrt()开平方 select sqrt(9)

到这就算是完成了用SQL语句操作数据以及数据查询基础的一些函数,那你看完之后,希望在你看知识之外能够给我推荐你的一些学习方法,你的一点建议或许能够为我们每一个人进步很大空间,当方向的门为我们打开时,照亮我们去探索的往往是我们周围的默默无闻的灯光,每个人都能成为我们大家的指路灯,就看你愿不愿分享啦!

SQL语句操作数据与一些函数使用的丰富数据库的更多相关文章

  1. 一些经典===>>用SQL语句操作数据

    用SQL语句操作数据 结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言 ...

  2. SQL 语句日期用法及函数

    SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数:select day(cl_s_time) as '日' from class  --返回天 ...

  3. 数据库 用SQL语句操作数据

    ACCP 马天鹏 2017/10/20 14:33:07用SQL语句操作数据. SQL的组成:(1)DML(Data Manipiation Language ,数据操作语言,)用来插入,修改和删除数 ...

  4. 剑指Offer——常用SQL语句、存储过程和函数

    剑指Offer--常用SQL语句.存储过程和函数 常用SQL语句 1.在MySQL数据库建立多对多的数据表关系 2.授权.取消授权 grant.revoke grant select, insert, ...

  5. 第三章————用SQL语句操作数据

    第三章————用SQL语句操作数据 *********************新增**************************** 1. insert into 表名(列名1,列名2...) ...

  6. 我们曾经心碎的数据库之 用SQL语句操作数据

    第八章   用SQL语句操作数据 1.SQL简介 SQL语言是能够识别指令,执行相应的操作并为程序提供数据的一套指令集 SQL的全称: 结构化查询语言(Structured Query Languag ...

  7. entityframework学习笔记--009-使用原生sql语句操作数据

    1 使用原生SQL语句更新--Database.ExecuteSqlCommand 假设你有一张如图9-1所示的Payment数据库表. 图9-1 1.1 实体类型: public class Pay ...

  8. 用SQL语句操作数据

    转载请注明出处:http://www.cnblogs.com/smbk/ 1.点击[新建查询]按钮,打开SQL命令编辑框,对数据库表的操作以及维护都可以通过编辑SQL命令实现. 2.在编辑框内编辑创建 ...

  9. mysql 操作sql语句 操作数据表中的内容/记录

    #3. 操作文件中的内容/记录 往哪张表去插入 insert into 表名指定字段(id,name) 插入要加values(针对前面字段插入)(2,mike); insert into t1(id, ...

随机推荐

  1. IIS6.0 web.config

    IIS6.0环境下,要把托管管道模式 改为:经典. <?xml version="1.0" encoding="UTF-8"?> <confi ...

  2. C#设计模式之原型模式

    原型模式:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象. 分析: 孙悟空:根据自己的形状复制(克隆)出多个身外身 软件开发:通过复制一个原型对象得到多个与原型对象一模一样的新对 ...

  3. java求字符串数组交集、并集和差集

    import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.Ma ...

  4. NoSQL与RDBMS的九点区别联系

    原文链接:http://blog.sina.com.cn/s/blog_5373fb0b0101ft8a.html     1 理解ACID与BASE的区别(ACID是关系型数据库强一致性的四个要求, ...

  5. sqlserver Between And的问题

    Id Name RegisterDate 1 澎澎 2007/1/5 00:00:00 2 丁丁 2007/1/6 04:37:00 3 亞亞 2007/1/7 00:00:00 数据库的数据如上.若 ...

  6. javascript 框架、根基技巧、布局、CSS、控件 JavaScript 类库

    预筹备之 JavaScript 今朝支流的 JavaScript 框架排名中,jQuery 和 Ext 可算是佼佼者,得到了用户的普遍好评.海内的一些框架许多也是模仿 jQuery 对 JavaScr ...

  7. 与你相遇好幸运,德淘gen8历程

    应该是十月底了 , 在浏览色魔张大妈(smzdm) http://www.smzdm.com/p/6517684/ 的时候看见了这个 , 以前大学就想买个这个 , 苦于没钱.... 然后当时打算买 , ...

  8. asp.net core的TagHelper简单使用

    TagHelper(标签助手)是ASP.NET Core非常好的一种新特性.可以扩展视图,让其看起来像一个原生HTML标签. 应该使用TagHelper替换HtmlHelper,因其更简洁更易用,且支 ...

  9. Javascript-常用字符串数组操作

    字符串的操作在编写Js的过程中是不可避免的 因为它太多的API 还有相似的API让我们很头痛 为了避免以后遇到模拟两可的问题 还是做个笔记比较好 把常用的字符串操作记录下来成笔记 方便以后查找 No1 ...

  10. [leetcode] 390 Elimination Game

    很开心,自己想出来的一道题 There is a list of sorted integers from 1 to n. Starting from left to right, remove th ...