夜黑风高的夜晚用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会为每 ...
随机推荐
- hdu---(5038)Grade(胡搞)
Grade Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Sub ...
- jq 中each的用法
jQuery的each方法的几种常用的用法 each()方法能使DOM循环结构简洁,可遍历一维数组.多维数组.DOM, JSON 等等. var arr = [ "one", &q ...
- jquery ajax请求方式与提示用户正在处理请稍等,等待数据返回时loading的显示
1.jquery ajax请求方式与提示用户正在处理请稍等 为了提高用户体验度,我们通常会给出 “正在处理,请稍等!”诸如此类的提示.我们可通过设置$.ajax()下的参数beforeSend()来实 ...
- 【转载】如何在德州仪器网站查找和下载PCB封装
德州仪器的网站做得相当不错,查找IC资料和下载IC封装样样给力.那么如何在TI网站上能够快速查找到自已需要的PCB封装呢?下面我来告诉你. 1. 在浏览器中输入网址http://weben ...
- das,nas,san区别——大型数据中心会用NAS+SAN软硬结合思路
DAS(Direct Access Storage-直接连接存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上.NAS(Network Attached Storage网络连接存储) ...
- 静态工具类中使用注解注入service
转载:http://blog.csdn.net/p793049488/article/details/37819121 一般需要在一个工具类中使用@Autowired 注解注入一个service.但是 ...
- C#识别验证码技术-Tesseract
相信大家在开发一些程序会有识别图片上文字(即所谓的OCR)的需求,比如识别车牌.识别图片格式的商品价格.识别图片格式的邮箱地址等等,当然需求最多的还是识别验证码.如果要完成这些OCR的工作,需要你掌握 ...
- Xmanager如何连接图形化界面
1.编辑gnome配置文件vim /etc/gdm/custom.conf # GDM configuration storage [daemon]RemoteGreeter= /usr/libexe ...
- 又一个提示框思密达,腾讯UED
demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf- ...
- a标签的css样式四个状态的设计
表示所有状态下的连接 如 a{color:red} ① a:link:未访问链接 ,如 a:link {color:blue} ② a:visited:已访问链接 ,如 a:visited{color ...