夜黑风高的夜晚用SQL语句做了一些想做的事·······
IT这条漫漫长路注定是孤独的,陪伴我们的只有那些不知冷暖的代码语句和被手指敲打的磨掉了键上的标识的键盘。
之所以可以继续坚持下去,是因为心中有一份永不熄灭的激情。 成功的路上让我们为自己带盐~~~~
想知道SQL语句的强大功能就先让我给你讲讲什么是SQL吧
SQL简介:
SQL能做什么?
专业人士说:在进行数据管理时,如果每次创建数据库,表或者从数据库中读取数据,都需要手动在SQL Server
Management Studio 中进行的话,不但管理不方便,而且存储在数据库中的数据也根本无法提供给程序使用。所以
数据库也需要一套指令集,能够识别指令丶执行相应的操作并为程序提供数据,目前标准的指令集就是SQL语言。
SQL语言:
专业人士说:SQL语言是针对数据库而言的一门语言,它可以创建数据库,数据表,可以针对数据库的数据进行增丶删
丶改丶查等操作,可以创建视图丶储存过程,可以赋予用户权限等
SQ语言主要由以下几部分组成。
(1)DML(Data Manipulation Language,数据操作语言,也称为数据操纵语言)用来插入丶修改丶和删除数据库中的
数据,如 INSERT 丶 UPDATE 及DELETE等。
(2)DDL(Data Definition Language,数据定义语言):用来建立数据库丶数据库对象和定义其列,大部分是以CREATE
开头的命令,如CREATE TABLE丶 CREATE VIEW 及 DROP TABLE等。
(3)DQL(Data Control Language,数据查询语言):用来对数据库中的数据进行查询,如SELECT等。
(4)DCL(Data Control Language,数据控制语言):用来控制数据库组件的存取许可。存取权限等,如GRANT丶REVOKE等。
SQL算术运算符:
| 运算符 | 说 明 |
| + | 加运算,求两个数或表达式相加的和 |
| - | 减运算,求两个数或表达式相减的差 |
| * | 乘运算,求两个数或表达式相乘的积 |
| / | 除运算,求两个数或表达式相除的商 |
| % | 取余运算,求两个数或表达式相除的余数 |
SQL算术比较运算符:
| 运 算 符 | 说 明 |
| = | 等于,例如:age=23 |
| > | 大于,例如:price>100 |
| < | 小于 |
| <> | 不等于 |
| >= | 大于等于 |
| <= | 小于等于 |
| != | 不等于(非SQL-92标准) |
SQL逻辑运算符:
运算符 说 明
AND 当且仅当两个布尔表达式都为TRUE时,返回TRUE
OR 当且仅当两个布尔表达式都为FALSE时,返回FALSE
NOT 对布尔表达式的值取反,优先级别最高
:
SQL有一个赋值运算符,即“=”把一个数或变量或表达式赋值给另一个变量:如:Name:'王华'
01.SQL语句书写规范
1,.在SQL Sever中,SQL语句不区分大小写 ,SQL编译器都识别
2,对表进行操作的时候,一定要使先用use关键字切换到对应的数据库
3.自增列可以不赋值
02.新增数据注意事项
01.如果新增全部列,那么表名后可以不跟列名,但是要提供所有列的值,除非当前
列有默认值,那么也要给出default关键字。
02.如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出
的列的值之外,其他列都允许为空。
insert into goodPerson(stuName,stuAge) values('李大大',20)
03. 一次性向一张表中插入多条数据的解决方案
方案一:insert into 目标表
select * from 原表
注意事项:如果目标中有自增列,那么不能使用*号。
方案二:select * into 目标表(不存在)
from 原表
该方式只保留了数据和子自增列,但是主键等约束就都没有了。
方案三:insert into 目标表(存在)
select 'S1294班'
union
select 'S1295班'
04.几个注意点
1.以后大家见到update语句,一定要跟where条件,打死也要跟。
2.在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null
05.delete和truncate区别?
解析:01.delete 后可以跟where条件,而truncate不行
02.delete删除数据的时候会记录日志,而truncate不会
开始,而truncate会。
--01.如果要进行数据表中数据的查询,那么必须先定位到该表所在的数据库
use Myschool --切换数据库
select StuId, StuName, StuAge, GradeId from Student
--我只想要年龄小于岁的学员信息
select * from Student where StuAge<=22
--新增数据
insert into GoodPerson values
('差点是美男',26,'中国某地区','未知','愿世界和平,没有战争,没有灾难')
select * from goodperson
insert into goodperson(stuName,stuAge,stuAddress,stuLike,stuWishes) values('周星星',18,default,'岁月是一把杀猪刀','不要做咸鱼')
insert into goodPerson(stuName,stuAge) values('王思春',20)
delete from goodperson
where StuId=31
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 'S1294班'
union
select 'S1295班'
--更新S1294班位于"精英班"
update grade set gradename='精英班'
where gradename='S1294班'
了解到这里我想应该可以使用SQL语句干一些想干的事情了吧嘿嘿(略有不足的地方还请多多指教,如果能帮助到各位请别忘了点个赞哟~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)
夜黑风高的夜晚用SQL语句做了一些想做的事·······的更多相关文章
- Python 数据分析:让你像写 Sql 语句一样,使用 Pandas 做数据分析
Python 数据分析:让你像写 Sql 语句一样,使用 Pandas 做数据分析 一.加载数据 import pandas as pd import numpy as np url = ('http ...
- Mysql动态sql语句,用当前时间做表名
在mysql备份操作中, 我们可能要使用表名和当前时间来做为备份表的名称,但是MySQL在存储过程中不支持使用变量名来做表名或者列名. 例如:有一个表"user",我需要备份一份, ...
- 每个黑客黑客的目标是让目标系统做你不想做的事情。 一个主要的例子是显示敏感文件,如/ etc / passwd和/ etc / shadow(存储用户的用户名和加密密码)。一旦这些文件在他或她的手中,就可以使用“字典“攻击的密码。 或者,他们可以使您的系统FTP受感染的文件,并运行它,这可能是坏或坏。为了做到这一点,他们需要得到一个“可信”的程序来执行他们指定的命令。通常,这是通过“缓冲区
因此,本质上,程序正在读取文本行,解释它们,并基于它们执行操作.这些"网络守护进程"利用的一个方便的特征是它们可以使用"标准输入"和"标准输出&quo ...
- SQL语句 & 查询表结构
[group by] 对结果集进行分组,常与汇总函数一起使用. SELECT column,SUM(column) FROM table GROUP BY column HAVING 通常与 GROU ...
- 监控mysql执行的sql语句
linux平台 监控mysql执行的sql语句 为了做好配合开发做性能和功能测试,方便监控正在执行的sql语句, 可以在/etc/mysqld中添加如下: log =/usr/local/mys ...
- c#实现用SQL池(多线程),定时批量执行SQL语句 【转】
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...
- SQL语句查询表结构
SQL语句查询表结构 刚刚在做一个小项目,数据库中一张表有20来个字段,用我以前做的一个.NET实体类生成器一个一个的输入还是闲麻烦,于是打算找个时间来重新的改造一个那个.NET实体类,能够通过选 ...
- c#实现用SQL池(多线程),定时批量执行SQL语句
在实际项目开发中,业务逻辑层的处理速度往往很快,特别是在开发Socket通信服务的时候,网络传输很快,但是一旦加上数据库操作,性能一落千丈,数据库操作的效率往往成为一个系统整体性能的瓶颈.面对这问题, ...
- Oracle执行SQL语句的过程
转载至:http://blog.csdn.net/aqszhuaihuai/article/details/7024551 当我们提交一条sql语句时,Oracle会做哪些操作呢? Oracle会为每 ...
随机推荐
- IOS开发设计思路
我在做 iOS 开发的时候,发现自己在写程序的时候,常常处于两种状态的切换,我把这两种状态称为软件开发的上帝模式与农民模式.我先给大家介绍一下这两种模式的特点. 上帝模式 处于上帝模式时,我需要构思整 ...
- org.springframework.web.servlet.PageNotFound No mapping found for HTTP request with URI [/AssetRepair/assetRepairController/test.do] in DispatcherServlet with name 'assetrepair'
web.xml文件配置: xxx-servlet.xml 我们可以发现DispatcherServlet会处理"jsp"后缀的请求;而模型视图后缀也是jsp的 如果这样配置会报以下 ...
- 为什么html5用的jQuery Mobile在手机浏览器/微信中打开字体很小
头部加入 <header> <metaname="viewport"content="width=device-width, initial-scale ...
- js创建table表格
//js创建table表格var tr;var cell;for(var i=0;i<10;i++){ //创建一个tr tr=document.createElement('tr'); doc ...
- Dapper使用
公司的项目使用了Dapper做数据库连接处理,感觉不错,自己研究一下怎么用. 在网上找了找资料对Dapper都比较推崇.主要是两个方面,一个是连接速度很快,一个是代码开源且简单,只有一个SqlMapp ...
- windows下捕获dump
一般要捕获异常只需要两个函数:SetUnhandledExceptionFilter截获异常:MiniDumpWriteDump写dump文件.但是由于CRT函数可能会在内部调用SetUnh ...
- js在mootools框架下的new Class
首先,在HTML文件中引入mootools.js. mootools-more.js.mootools-core.js,然后就能使用mootools封装的一些特性. 几乎类似于面向对象. mootoo ...
- 我们无法找到服务器加载工作簿的数据模型"的 SharePoint 网站,当您刷新 Excel 2013 工作簿中的数据透视表时出错
假定您使用 Analysis Services 源在 Microsoft Excel 2013 中创建数据透视表.将 Excel 工作簿上载到 Microsoft SharePoint 网站中.当您尝 ...
- "数学口袋精灵"bug的发现
团队成员的博客园地址: 曾治业:http://www.cnblogs.com/zzy999/ 陈焕恳:http://www.cnblogs.com/4249ken/ 蓝叶:http://www.cnb ...
- [Js]焦点图轮播效果
一.所用到的知识点 1.DOM操作 2.定时器 3.事件运用 4.Js动画 5.函数递归 6.无限滚动大法 二.结构和样式 <div id="banner" class=&q ...