夜黑风高的夜晚用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会为每 ...
随机推荐
- Java 集合系列 01 总体框架
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- ABAP版连连看
网上看到的,感觉不错,借来装13... *&---------------------------------------------------------------------* *&a ...
- JDicom使用指南
适用条件本指南用于使用JDicom进行环境模拟.产品调试. 一.安装JDicom运行JDicom安装程序之前,需安装JRE 1.3及以上版本.否则,弹出如下图所示报错 安装JRE 1.4:双击运行可执 ...
- MVP Community Camp 社区大课堂
MVP Community Camp 社区大课堂 微软技术社区大课堂开课啦!!!#MVPComCamp# 全中国微软最有价值专家MVP 在 3月21日周五全天齐聚北京国际会议中心为您呈 ...
- BZOJ3238 [Ahoi2013]差异
首先把后缀数组和height数组都搞出来... 然后用两个单调栈维护$[l, r]$表示对于一个点$x$,满足$height[x] \le height[l..x] \ \&\&\ ...
- Icon资源详解[1]
本文分享&备忘最近了解到的icon资源在windows平台下相关的一部分知识,所有测试代码都尽可能的依赖win32 API实现.更全面的知识,参考文末列出的”参考资料“. 关键字:I ...
- apache rewrite设置 禁止某个文件夹执行php文件
RewriteRule (data|templates)/(.*).(php)$ – [F]
- Java:一个简单的Java应用程序
/** * 这是文档注释 * @version * @author */ /* 这之间的内容也是注释 */ //这是行注释 public class FirstSample { public st ...
- nginx日志切割
脚本完成后将其存入 Nginx 安装目录的 sbin 中,取名为 cut-log.sh,之后使用 crontab -e 新增一个定时任务,在其中增加执行这个脚本: #!/bin/bash ## 零点执 ...
- C++-理解构造函数、析构函数执行顺序
先初始化序列中的函数调用,如果基类构造函数为非引用传递,则引起参数的拷贝构造 再: 先类内的成员构造函数(拷贝/默认),再类的构造函数:先基类,再派生类: 本文主要说明对象创建时构造函数的执行顺序,对 ...