不可小觑的SQL语句
在前面学的我们通过点鼠标给数据表插数据,虽然这种方法很靠谱,但是有那么的一些缺点,就是比较麻烦和效率不高。
所以现在我们的好好学SQL语句,来弥补这么的一个漏洞,能提高我们工作的效率。
SQL语句能做什么?
数据库需要一套指令集(SQL语言),能够识别指令,执行相应的操作。
1.SQL中的运算符:
01:算术运算符:
+,—,*,/,%
02.赋值运算符:
“=”
03.比较运算符:
=,>,<,<>,>=,<=,!=
04.逻辑运算符:
and,or,not
一:SQL语句的作用是什么?
解析:就是“增加、修改和删除数据”
SQL语句书写规范:
01,.在SQL Sever中,SQL语句不区分大小写(数据库名,表名,列名,关键字) ,SQL编译器都识别
02,对表进行操作的时候,一定要使先用use关键字切换到对应的数据库
03.自增列不可以赋值
1.增加数据的方法:
insert into 表名(列名)
values (数据)
eg: insert into goodPerson(stuName,stuAge)
values('晓玲',20)
注意:
01. 如果新增全部列,那么表名后可以不跟列名,但是要提供所有列的值,除非当前
列有默认值,那么也要给出default关键字。
02.如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出
的列的值之外,其他列都允许为空或者有默认值。
2.一次性向一张表中插入多条数据的解决方案:
01.语法:
SELECT (列名)
INTO <表名>
FROM <源表名>
eg:
insert into goodPerson2
select StuName, stuAge, stuAddress, stuLike, stuWishes from goodPerson
delete from goodperson2
注意事项:如果目标中有自增列,那么不能使用*号。
02. 语法:
select * into 目标表(不存在)
from 原表
eg:
select * into goodpersonbak
from goodperson
注意:
该方式只保留了数据和子自增列,但是主键等约束就都没有了。
03.语法
INSERT INTO <表名>(列名)
SELECT <列名> UNION
SELECT <列名> UNION
eg:
select * from grade
insert into grade
select '高一二班'
union
select '高一五班'
3.更新数据的方法:
语法:
UPDATE 表名 SET 列名 = 更新值
[WHERE 更新条件]
eg:
UPDATE Students
SET SAddress ='北京女子职业技术学校家政班'
WHERE SAddress = '北京女子职业技术学校刺绣班'
UPDATE Scores
SET Scores = Scores + 5
WHERE Scores <= 95
注意:更新多列数据使用逗号隔开
勿忘条件限制,以防有效数据的丢失
4.删除数据:
01:使用DELETE删除数据行
语法:
DELETE [FROM] 表名 [WHERE <删除条件>]
eg:
DELETE FROM Students
WHERE SName ='张青裁'
02.使用TRUNCATE删除数据行
语法:
TRUNCATE TABLE 表名
eg:
TRUNCATE TABLE Students
注意:
表结构、列、约束等不被
改动
不能用于有外键约束引用的表
标识列重新开始编号
经验:
实际工作中应用尽量少用TRUNCATE TABLE,因为它删除的数据不能恢复
.delete和truncate区别?
解析:01.delete 后可以跟where条件,而truncate不行
02.delete删除数据的时候会记录日志,而truncate不会
03.delete删除表中所有数据库,id编号不会从1开始,而truncate会。
专业人士解析:因为truncate又称为“截断表”。编号从1开始。
.数据查询的方法:
行数据表中数据的查询,那么必须先定位到该表所在的数据库
eg:
use Myschool --切换数据库
select StuId, StuName, StuAge, GradeId from Student
--我只想要年龄小于岁的学员信息
select * from Student where StuAge<=22
7.几个注意点
01.见到update语句,一定要跟where条件,这是命令。
02.在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null
.导入数据:
注意:
导入数据前先根据数据库表中设置的约束、主外键关系等检查导入数据的合法性
我非常高兴大家细心阅读之后,能得到收获。大家可以勇敢,积极的补充知识。
不可小觑的SQL语句的更多相关文章
- mysql学习之 sql语句的技巧及优化
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...
- Oracle ------ SQLDeveloper中SQL语句格式化快捷键
Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...
- SQL语句优化
(1) 选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表dri ...
- LinqToDB 源码分析——生成与执行SQL语句
生成SQL语句的功能可以算是LinqToDB框架的最后一步.从上一章中我们可以知道处理完表达式树之后,相关生成SQL信息会被保存在一个叫SelectQuery类的实例.有了这个实例我们就可以生成对应的 ...
- 年终巨献 史上最全 ——LINQ to SQL语句
LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...
- LINQ to SQL语句(19)之ADO.NET与LINQ to SQL
它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...
- LINQ to SQL语句(17)之对象加载
对象加载 延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是 ...
随机推荐
- 插入排序java代码
/** * 插入排序 * * 原理:从数组中取出一个值插入到一个左边已经排好序的数组片段中 * * @param a * @return */ public long[] InsertSort(lon ...
- PHP的学习--解析URL
PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str. parse_url 解析 URL,返回其组成部分 mixed parse_url ( string $url [, ...
- 使用 SQL 命令 OPTIMIZE TABLE 释放表空间
前提: 1.删除了表的一大部分: 2.已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改. ----------------------------------- ...
- SQL Server安全(4/11):许可(Permissions)
在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...
- elasticsearch 文档
elasticsearch 文档 文档格式 索引中最基本的单元叫做文档 document. 在es中文档的示例如下: { "_index": "questions&quo ...
- WinForm,MVC知识点
WinForm的一些基础知识,用来回忆自己遗忘的,唤醒自己的知识. 虽然现在有MVC但是我觉得还是要学习一下WinForm的,毕竟以前也被大家用了好多年. 基础知识01 1:一个控件有很多的事件,每个 ...
- Date对象之应用技巧
new Date(2014,4,15);设置日期为2014年4月15日 var cur=new Date(); var prev=new Date(cur.setDate(cur.getDate()- ...
- Json.Net
下载地址:Json.NET 文档地址:Json.NET Documentation 基本的序列化与反序列化 public class Product { public string Name { ge ...
- WCF快速上手
需求:在同一台机子上,有一个B/S程序,和一个C/S程序(不要问为什么,事实就是这样),B/S程序需要主动和C/S程序通信(C/S程序主动与B/S程序通信的情况这里暂不讨论). 下面以最快的速度写一个 ...
- .NET中类(class)与结构(struct)
结构是值类型:值类型在栈上分配空间: 类是引用类型:引用类型在堆栈上分配空间: 虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object: 虽然 ...