SQL--结构化的查询语言
T-SQL:Transact-SQL (SQL的增强版)

逻辑运算符
and &&
or ||
not !

关系运算符

等于 =
不等于<>或!=

sql中的注释:--

1.如何编写T-SQL语句,选择要操作的数据库?
use 数据库名

2.打开表显示所有的数据?
select*from 表名

3.编写的SQL语句,保存在拓展名为.sql文件中

4.编写sql语句,向表中插入1条数据

insert into 表名(列名列表)
values(值列表)

5.操作表,表明和列名,不区分大小写

6.添加数据时,注意选项
1>标识列不要出现在列名列表中
2>字符类型的值,要用''引起来
且不要超出长度
3>值的个数和类型,
要和列名列表中的个数和类型要一一对应
4>外键列的值,必须引用主键表中主键的值

第四次课
1.插入多行数据
1.存在新表,新建表格式和原表一样
insert into 新表表名
select 列名
from 数据来源的表名
2.不能存在新表 (数据过来了,约束没有了)
select 源表的列名
into 新表
from 新表名
3.原表中添加多条数据
insert into 表名(列名列表)
select 值列表 union(联合)
............
select 值列表 添加多条数据不能用default 最后一个没有union

2.修改
update 表名 set
要修改的列名=修改后的值

按条件修改指定的数据:
update 表名 set
要修改的列名=修改后的值
where 条件

PS:更新数据时【主键的值不能修改】

3.删除
delete from 表名 【where<删除条件>】

删除表中的所有行
truncate table 表名 类似没有where的delete语句

相同点:都可以删除表中的数据
不同点:1.语法不同。delete语句可以根据指定的条件删除数据,truncate 会删除所有数据
2.有外键约束的表只能用delete语句
3.truncate 删除的速度更快,不可以恢复
4.delete删除数据后,标识列会继续生成,而truncate会重新从标识种子开始计数

又一次课

本章内容

一、模糊查询
1、like关键字,只适合文本类型
2、where 列名 like '通配符'
3、常用通配符
1.表示占用1个字符位置:_
2.表示任意长度字符的:%
3.在某个范围:[]
4.不在某个范围:[]
4、between的作用
5、in关键字的作用
6、常见的面试题:查询表中第M-N条记录(没有标识列或标识列的值)
语法:select top(N-M+1)*from 表名
where 列名 not in (select top(M-1) 列名 from 表名) 列名最好选择主键列
ps:如果查询结果不准确,select 语句后需要添加 order by 语句进行排序

二、聚合函数
1、作用:
2、常用的聚合函数:SUM,AVG,MAX,MIN,COUNT(统计时包括'' 不包括NULL的值)

又一次课

本章内容
一、分组查询
1、语法
select ...
where ...--数据的筛选
group by 分组列名
having ...--分组后where
order by...--排序

2、注意
select 显示的列名,如果没有用聚合函数包含,必须在group by 子句中出现,否则select语句查询错误

错误信息:因为该列没有包含在聚合函数里面 或group by 子句中

3、 where -- group by -- having -- order by --顺序

4、where 和having 的异同点?
相同点:都是用于按条件筛选
区别:1.出现的位置有限定,where出现在表名的后面
having只能出现在group by 的后面
2.where条件中不能有聚合函数,having中可以包含聚合函数

二、多表查询操作
1、常用的多表查询
1.内连接--inner join
语法:
方式1:
select 列名 from 表1,表2
where 表1.通用列=表2.通用列
【and 条件...】

方式2:
select 列名 from 表1
inner join 表2
on 表1.通用列=表2.通用列
【where 条件...】
2.外连接
左外连接--left join
右外链接--right join
2、什么叫通用列?
通用列,也叫公共列,2个有关系的表中建立主外键的列
父(主,主键)表--子(从,外键)表
主键列------>外键列

1.理解数据库基本概念

·数据库的作用--保存数据

·常用的数据库?
--Oracle,SQL server,DB2,MySql

·数据库中包括:表、关系、操作对象

·数据库中的表由行(记录)和列(字段)组成
表:oop中是类
一行(记录):一个对象或实体
列(字段):oop中的属性

DB--数据库(DataBase)

数据库管理系统--DBMS

DBA--数据库管理员

操作:
增(insert) 删(delete) 改(update) 查(select)

数据冗余--存在重复

2.熟知SSMS的基本操作
2.1、打开SQL Server2008

2.2、系统数据库
3.创建和配置SQL Server 数据库

时下流行的数据库
1.Oracle (java使用的比较多)
Oracle公司的产品
产品免费、服务守卫
2.SQL Server
针对不同用户群体的多个版本
易用性好
3.DB2
IBM公司的产品
支持多操作系统、多种类型的硬件和设备
4.MySQL (java使用的比较多)
开放源代码
网站应用广泛

第二次课
1、数据库的组成
*.mdf和*.ndf文件(主,次文
*.ldf文件--日志文件

默认初始值大小,mdf文件3M,日志文件1M。

2、新建用户数据库
步骤1:在磁盘中新建一个文件夹(保存数据库文件)
步骤2:再按步骤完成数据库的新建(设置数据库的名称和储存的路径,选择步骤1中的文件夹)

3、新建登录名和用户名(简单权限设置)--以windows身份或者sa登录后再去新建
3.1新建(sqlserver身份验证的)登录名
只需要设置密码即可(取消强制密码过期)
3.2新建(数据库)用户名--关联用户数据库
选择你要访问的【数据库名】,展开【安全性】,选择【用户】,右键点击选择【新建用户】,
输入用户名,同时关联用户名

是否设置成功,用自己【新建的登录名】成功登录后,能展开自己【新建的数据库】

4、数据库的相关配置

分离、附加、收缩。数据的导入导出的操作等。

方式1:直接停止sqlserver服务

方式2:脱机

方式3:分离

通过新建登录名和用户名,达到简单的登录权限的控制

方式一:
创建登录名时,在用户映射中直接设置

方式二:
在数据库里创建关联用户

第三次课
一、创建表
1.如何新建表

2.常见的数据类型

2.1文本类型(字符串或字符)
java中的String:varchar,nvarchar(可变长度)
java中的char:char(固定长度)
char(10)和varchar(10)保存数据的区别
保存的实际数据,长度<=10,比如为5个长度
char(10),所占的空间长度仍然为10
varchar(10)和nvarchar(10),所占的空间长度实际为5
2>如果长度超出10,char和varchar都会报错。
但navarchar不会报错,会更具实际值的长度而自动扩展长度

2.2日期格式--datetime yyyy-MM-dd(年/月/日)

2.3整数--int

2.4小数点数字--float

2.5货币类型--money

2.6布尔类型--java中boolean 数据库中:bit
二、完善表结构

1.1域(字段、列名)完整性
限制数据类型,检查约束,外键约束,默认值,非空约束等实现
1.2实现完整性:
唯一约束,主键约束,标识列等实现
1.3应用完整性,外键约束实现

1.4自定义完整性(本学期课程不设计)
规则、存储过程、触发器等实现

2.主键可以有多个列,联合主键

选择主键:最少性 稳定性

3.外键约束

步骤1:确定父(主)表,子(从)表

步骤2:打开子(从)表,找到列(公共列),设置主外键关系

三.操作表示常见问题

1.列名为英文,不允许为中文列名

2.修改时不能保存,在工具中设置

3.标识列只能为int类型,插入数据时,不能手动添加,根据表示种子及标识增量自动产生一个值
值:不会因为删除数据而重新开始

4.主键的值是唯一的,不能重复,主键的值不能修改。

5.建立外键约束时,公共字段的名称可以不同,但数据类型要一致

SQL--结构化的查询语言的更多相关文章

  1. SQL 结构化查询语言

    SQL 结构化查询语言 一.数据库的必要性: >>作用:存储数据.检索数据.生成新的数据 1)可以有效结构化存储大量的数据信息,方便用户进行有效的检索和访问. 2)可以有效地保持数据信息的 ...

  2. SQL结构化查询语言

    一.SQL 结构化查询语言 1.T-SQL 和 SQL的关系 T-SQL是SQL的增强版 2.SQL的组成 2.1 DML (数据操作语言) 增加,修改,删除等数据操作 2.2 DCL (数据控制语言 ...

  3. SQL结构化查询语句

    SQL结构化查询语句 SQL定义了查询所有关系型数据库的规则. 1.通用语法 SQL语句可以单行或者多行书写,以分号结尾 可以使用空格和缩进增强可读性 不区分大小写,但是关键字建议大写 3种注释 注释 ...

  4. SQL查询--简单了解SQL(结构化查询语言)

    以下内容是从其他地方摘抄过来的哈,原文地址忘记了,当时把内容记在了笔记中 SQL分类: 数据查询语言(DQL) 数据定义语言(DDL) 数据操纵语言(DML) 数据控制语言(DCL) 1.数据查询语言 ...

  5. Spark SQL结构化数据处理

    Spark SQL是Spark框架的重要组成部分, 主要用于结构化数据处理和对Spark数据执行类SQL的查询. DataFrame是一个分布式的,按照命名列的形式组织的数据集合. 一张SQL数据表可 ...

  6. SQL 结构化查询语言手册

    摘自该学习网站: http://www.w3school.com.cn/sql/ 新学到的几点: and 和or 连用,记得用括号.                2.SQL通配符补充   例如:   ...

  7. 基于oracle的sql(结构化查询语言)指令

    创建表空间 create tablespace 表空间名 datafile '存储路径(c:\a\a.dbf)' size 200m autoextend on next 10m maxsize un ...

  8. 关于SQL结构化查询语言中(+)的用法

    一.概述 (+):从符号上理解为添加一些内容进入结果集中,那么自然会问到这么几个问题 1.添加什么内容 2.怎么添加 3.添加到什么结果集中 以下内容将以实例说明上面3个问题. 二.实例 以Oracl ...

  9. Spark SQL - 对大规模的结构化数据进行批处理和流式处理

    Spark SQL - 对大规模的结构化数据进行批处理和流式处理 大体翻译自:https://jaceklaskowski.gitbooks.io/mastering-apache-spark/con ...

  10. SQL 数据库结构化查询语言

    1.数据库 常见数据库 MySQL:开源免费的数据库,小型的数据库. Oracle:收费的大型数据库,Oracle 公司的产品 DB2:IBM 公司收费的数据库,常应用在银行系统中 SQLServer ...

随机推荐

  1. Android Studio设置自定义字体

    Android Studio设置自定义字体 (1)进入设置页面,File->Settings (2)自定义字体Editor->Colors&Fonts->Font (3)点击 ...

  2. solr7.1.0学习笔记(10)---Solr发布到Tomcat

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weixin_39082031/article/details/79069554 将solr作为一个单 ...

  3. appium 搭建及实例

    一.Appium环境搭建(Java版本) 转载2016-04-26 09:24:55 标签:appium移动端自动化测试 市场需求与职业生涯的碰撞,阴差阳错我就跨进了移动App端自动化测试的大门,前生 ...

  4. Nginx配置跨域请求“Access-Control-Allow-Origin”

    当出现403跨域错误的时候 No 'Access-Control-Allow-Origin' header is present on the requested resource,需要给Nginx服 ...

  5. android 开发 实现RecyclerView的列表单选功能

    实现思维: 1.首先在一行的xml布局中添加一个选中效果的icon图片,未选中的情况下INVISIBLE或者GONE 都可以,推荐使用INVISIBLE它会占用布局位置但是不显示,这样可以避免布局中其 ...

  6. Jenkins 之邮件配置

    Jenkins 之邮件配置其实还是有些麻烦的,坑比较多,一不小心就...我是走了很多弯路的. 这里记录下来,希望大家以后不要重蹈覆辙: 我测试过,这里的 Extended E-mail Notific ...

  7. spark高级编程

    启动spark-shell 如果你有一个Hadoop 集群, 并且Hadoop 版本支持YARN, 通过为Spark master 设定yarn-client 参数值,就可以在集群上启动Spark 作 ...

  8. 1. @ModelAttribute注解

    添加@ModelAttribute修饰的方法,在每个目标方法调用前都会执行该方法. 一般情况下,在form表单修改的时,某项字段规定为不可更改,就需要使用该注解标注的方法,根据id的获取与否,来从数据 ...

  9. 安装 docker管理 工具 页面 portainer

    sudo docker run -d -p 7998:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data ...

  10. 线程池之 newScheduledThreadPool中scheduleAtFixedRate(四个参数)

    转自:https://blog.csdn.net/weixin_35756522/article/details/81707276 说明:在处理消费数据的时候,统计tps,需要用一个线程监控来获得tp ...