在前面学的我们通过点鼠标给数据表插数据,虽然这种方法很靠谱,但是有那么的一些缺点,就是比较麻烦和效率不高。
所以现在我们的好好学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

.导入数据:

注意:

导入数据前先根据数据库表中设置的约束、主外键关系等检查导入数据的合法性

数据的导入导出功能可以跟文本文件、Excel文件交换数据

我非常高兴大家细心阅读之后,能得到收获。大家可以勇敢,积极的补充知识。

不可小觑的SQL语句的更多相关文章

  1. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  2. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

  3. LINQ to SQL语句(7)之Exists/In/Any/All/Contains

    适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...

  4. Oracle ------ SQLDeveloper中SQL语句格式化快捷键

    Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...

  5. SQL语句优化

    (1)      选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表dri ...

  6. LinqToDB 源码分析——生成与执行SQL语句

    生成SQL语句的功能可以算是LinqToDB框架的最后一步.从上一章中我们可以知道处理完表达式树之后,相关生成SQL信息会被保存在一个叫SelectQuery类的实例.有了这个实例我们就可以生成对应的 ...

  7. 年终巨献 史上最全 ——LINQ to SQL语句

    LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...

  8. LINQ to SQL语句(19)之ADO.NET与LINQ to SQL

    它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...

  9. LINQ to SQL语句(17)之对象加载

    对象加载 延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是 ...

随机推荐

  1. 彻底理解跨域解决方案JSONP

    什么是同源策略? 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略. 所谓同源是指,域名,协议,端口相同.当一个浏览器的两个tab页 ...

  2. KnockoutJS 3.X API 第五章 高级应用(3) 虚拟元素绑定

    注意:这是一种高级技术,通常仅在创建可重用绑定的库时使用. 这不是你通常需要做的时候使用Knockout构建应用程序. Knockout的控制流绑定(例如,if和foreach)不仅可以应用于常规DO ...

  3. Java-集合-第三题 有如下Student 对象, private String name; private int age; private int score; private String classNum; 其中,classNum 表示学生的班号,例如“class05”。 有如下List List list = new ArrayList(); l

    第三题 有如下Student 对象, private String name; private int age; private int score; private String classNum; ...

  4. Java时间日期格式转换

    1.这个是系统自动默认的时间格式,或者说是美式格式: Long time = System.currentTimeMillis();                Date date = new Da ...

  5. javaweb回顾第九篇EL表达式

    前言:关于EL表示式开发用的非常多,现在我们回顾一下关于如果去操作EL表达式 1:EL表达式语法 所有EL表达式都是由{开始}结束,表达式中用.和[]操作符来访问数据比喻${user.userName ...

  6. HTML网页内容转换成字符串(删除从指定字符串到指定字符串)

    背景: 最近遇到个小需求就是将下面字符串去掉无用字符串 <br><br>"你爷爷也喜欢吃鱼嘛."<br><br>我笑了起来,&quo ...

  7. codeforces——Little Pony and Expected Maximum

    /* 我们枚举每次选择最大数值的情况:m个数, 投掷n次 最大值是1: 1种 2: 2^n-1 3: 3^n-2^n ..... m: m^n-(m-1)^n 所以最后的结果=sum((k/m)^n ...

  8. 基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理

    最近一直很多事情,博客停下来好久没写了,整理下思路,把最近研究的基于Metronic的Bootstrap开发框架进行经验的总结出来和大家分享下,同时也记录自己对Bootstrap开发的学习研究的点点滴 ...

  9. Android基于mAppWidget实现手绘地图(三)--环境搭建

    首先,你在Eclispe开发环境中新建一个项目:然后,可以通过Eclispe项目管理工具把这个项目集成到你的app项目中.下面手册会手把手教你如何正确创建一个地图对象. 第一: 新建一个新的Anroi ...

  10. 一种利用 Cumulative Penalty 训练 L1 正则 Log-linear 模型的随机梯度下降法

    Log-Linear 模型(也叫做最大熵模型)是 NLP 领域中使用最为广泛的模型之一,其训练常采用最大似然准则,且为防止过拟合,往往在目标函数中加入(可以产生稀疏性的) L1 正则.但对于这种带 L ...