夜黑风高的夜晚用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会为每 ...
随机推荐
- html5 <input> placeholder 属性
带有 placeholder 文本的搜索字段: <form action="demo_form.asp" method="get"> <inp ...
- C#入门篇6-7:字符串操作 看看字符串的特殊之处 值类型与引用类型的区别
//看看字符串的特殊之处值类型与引用类型的区别 public static void CompareString(string stra, string strb, int i) { #region ...
- 关于Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的问题
找不到mysql socket的问题,我最近碰到了好多次重装系统以前,我的mysql,apache,php都是自己编译安装的,当时并没有碰到这些问题,重装系统以后,我的mysql是通过yum安装的,a ...
- AFNetworking框架使用
本文是由 iOS Tutorial 小组成员 Scott Sherwood撰写,他是一个基于位置动态加载(Dynamically Loaded)的软件公司(专业的混合定位)的共同创办人. 网络 — 你 ...
- sql删除语句
TRUNCATE TABLE Moisture_test 删除表里所有的数据,就连主键的自增也被删除delete Moisture_test 删除表里数据但是就连主键的自增没有被删除
- xml数据解析调研
XML数据解析http://www.tuicool.com/articles/Nraau2(必用) http://www.cnblogs.com/pengyingh/articles/2342699. ...
- bzoj 2282: [Sdoi2011]消防
#include<cstdio> #include<cstring> #include<iostream> #define N 600000 using names ...
- POJ 2528 区间染色,求染色数目,离散化
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 47905 Accepted: 13903 ...
- Jmeter java.lang.OutOfMemoryError: GC overhead limit exceeded
使用这个jmeter工具测试时,遇到这么个gc错误,网上找到了解决方案.原因是jmeter默认分配内存的参数很小,好像是256M吧.故而解决方法,就是增加内存: set HEAP=-Xms4g -Xm ...
- VS2013的项目转到VS2010需要修改的
Visual Studio2013: 用的是.net FrameWork 4.5版本,自带Nuget(在里面可以搜索到各种引用插件,不用再自己一个个百度,就像X60软件管家) Visual Studi ...