文章目录

  • 1 数据库_SQL
    • 1.1 概念整理
    • 1.2 什么是SQL
    • 1.3查找数据
      • 1.3.1查找所有列
      • 1.3.2查找内容排序
      • 1.3.3WHERE关键字(过滤数据)
      • 1.3.3.2多WHERE子句组合使用
      • 1.3.3.3IN关键字
      • 1.3.3.4NOT关键字
      • 1.3.4通配符
      • 1.3.4.2%通配符
      • 1.3.4.3_下划线通配符
      • 1.3.5使用通配符的技巧
    • 1.4插入数据
    • 1.5更新数据
    • 1.6删除数据

1 数据库_SQL

数据库:以某种有组织的方式存储的数据集合

1.1 概念整理

表:结构化的数据用来存放特定类型的数据
表名必须是唯一的,以免引发混乱
模式:用来描述数据库中特定的表以及整个数据库和表的关系(关于数据库和表的布局和特征的信息)
列:表由列组成,构成表中的的某部分信息(表中的一个字段)
数据库中每列都对应一个数据类型,应根据数据类型定义存储的数据种类
行:表中的一个记录,也称为数据库记录
主键:其值能唯一的标识一行数据的列,可以是组列
为了后期的数据操作和管理应该使每个表中都有一个主键
子句:SQL由子句构成,有些子句是必须的,有些是可选的

1.2 什么是SQL

SQL:Structured Query Language的缩写,一种专门用来和数据库通信的语言
区别Java、C#等程序设计语言:SQL由很少的词构成——提供一种从数据库中读写数据的简单有效的方法
SQL不是有数据库供应商专有的语言,SQL几乎适应所有的数据库管理系统(DBMS)
ANSI SQL:由ANSI委员会制定,所有的DBMS都支持

1.3查找数据

1.3.1查找所有列

使用“*”关键字

SELECT *FROM StuMessage

select:查找关键字。使用select必须给出两个关键字,即选什么从什么地方选
Tip:一.关键字不能作为列或者表的名字 二.SQL会忽略所有空格
查找单列
给出列名以及表(选什么从什么地方选)

SELECT name FROM StuMessage

查找多列
列名中间“,”隔开,最后列名无需添加,否则会报错

SELECT name, age FROM StuMessage

1.3.2查找内容排序

按单列排序
使用ORDER BY关键字

SELECT *FROM StuMessage ORDER BY age

ORDER BY必须是SELDECT的最后一条子句
按多个列排序
ORDER BY +列名1 +“,”+列名2(句末不加“,”)
先按列名1排序,再按列明2排序
ORDER BY按相对列位置进行排序
按列的相对的位置序号排序

SELECT *FROM StuMessage ORDER BY 1, 2

指定排序方向
字符默认(A—Z),使用DESC关键字(Z—A)

SELECT *FROM StuMessage ORDER BY age DESC

在多个列上降序排列:必须在每个列指定DESC关键字

1.3.3WHERE关键字(过滤数据)

指定搜索条件

SELECT *FROM StuMessage WHERE age = 18

WHERE子句支持的操作符
=、< >(不等于) 、!=(不等于)、<、<=、!<、>、>=、!>、BETWEEN(指定两值之间)、IS NULL(为NULL值)此上操作符并非所有DBMS皆支持

1.3.3.2多WHERE子句组合使用

使用AND或者OR操作符,类似C语言的&&或||

SELECT *FROM StuMessage WHERE age = 18 AND name = 'zhangsan'
SELECT *FROM StuMessage WHERE age = 18 OR name = 'zhangsan'

TIP:SQL字符需要使用单引号
SQL可以包含任意数目的AND和OR操作符

1.3.3.3IN关键字

IN:用来指定条件范围,范围中的每个条件都可以进行匹配

SELECT *FROM StuMessage WHERE age IN(18, 20, 19)
SELECT *FROM StuMessage WHERE name IN('zhangsan', 'lisi')

1.3.3.4NOT关键字

否定它之后所跟的任何条件(与其他操作符一起使用)。NOT可以用在要过滤的列前,而不是在其后

SELECT *FROM StuMessage WHERE  NOT name = 'zhangsan' ORDER BY age

1.3.4通配符

通配符:用来匹配值的一部分的特殊字符
搜索模式:有字面值、通配符或两者组合构成的搜索条件
谓词:操作符在作为谓词时便不再是操作符
必须使用LIKE关键字

1.3.4.2%通配符

%:表示任何字符出现任意次数

SELECT *FROM StuMessage WHERE name LIKE 'zhangsan%'

表示接受任意以‘zhangsan’开头的词,不管’zhangsan’之后是什么字符
%通配符区分大小写。并且‘%’可以放在条件的任意位置

SELECT *FROM StuMessage WHERE name LIKE '%zha%ngsan%'

1.3.4.3_下划线通配符

'‘与%通配符相同,但是’‘只匹配单个字符而不是多个字符
1.3.4.4’[]'通配符
'[]'用来指定一个字符集,必须匹配指定位置(通配符的位置)的一个字符

SELECT *FROM StuMessage WHERE name LIKE '[zhang]%'
SELECT *FROM StuMessage WHERE name LIKE '[^zhang]%'

第二句与第一句相反

1.3.5使用通配符的技巧

通配符花费的搜索时间更长
不要过分使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符
尽量避免将通配符放在搜索模式开始处,搜索起来最慢

1.4插入数据

使用INSERT关键字
插入的几种方式
插入完整的行

INSERT INTO StuMessage VALUES('100001', 'zhangsan', '19', '100') 

对应列的数据填入相关信息,需要使用”,“隔开
插入行的一部分

INSERT INTO StuMessage(StuNum, name, age)  VALUES ('100002', 'wangwu', '19') 

插入的位置(通常表名)+(对应列)
插入某些查询的结果
利用INSERT将SELECT结果插入表中

INSERT INTO StuMessage(name, age, score) SELECT name, age, score FROM StuMessage

从一个表复制到另一个表

SELECT * INTO Student FROM StuMessage

SELECT INTO 是试验新SQL语句前,做表复制的很好的工具,在先做过复制后,可在复制上测试SQL代码而不会影响实际的数据

1.5更新数据

UPDATE:更新表中特定行、更新表中所有行
UPDATE由三部分组成:1要更新的表 2列名和它们的新值 3确定要更新哪些行的过滤条件

UPDATE StuMessage SET name = 'zhanghan' WHERE stuNum = '100001'

1.6删除数据

DELETE:从表中删除特定的行、从表中删除所有的行

DELETE FROM StuMessage WHERE name = 'wangwu'
DELETE FROM StuMessage;//删除表中所有内容

此句仅删除一行数据
DELETE仅是删除表中的所有行,并不是表本身
删除指定列需要使用UPDATE

数据库_SQL基本内容整理相关推荐

  1. mysql数据库 常用函数_《MySQL数据库》常用函数整理

    原标题:<MySQL数据库>常用函数整理 以下内容,是我整理出来的比较常用的字符串函数,数值函数,日期函数. 第一类:字符串函数 1.conv(n,from_base,to_base):对 ...

  2. ro模式数据库mysql_ro数据库-和ro数据库相关的内容-阿里云开发者社区

    Influxdb的部署以及运行cadvisor 环境为CentOS7.4 1.安装influxdb1.7 mkdir -p /home/influxdb/ cd /home/influxdb wget ...

  3. 北邮 计算机学院数据库实验报告二,北邮数据库_sql实验二报告.doc

    <北邮数据库_sql实验二报告.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<北邮数据库_sql实验二报告.doc>文档请在天天文库搜索. 1. ...

  4. numeric比较大小 数据库_数据库基础知识个人整理版-强烈推荐

    <数据库基础知识个人整理版-强烈推荐>由会员分享,可在线阅读,更多相关<数据库基础知识个人整理版-强烈推荐(20页珍藏版)>请在人人文库网上搜索. 1.数据库知识要点总结第一章 ...

  5. Google C++ 风格指南内容整理

    之前一直没有全面的看过Google C++风格指南,现在很多公司进行C++开发都要求按照Google C++风格.在这个网站 http://zh-google-styleguide.readthedo ...

  6. mysql文件碎片整理_对数据库磁盘驱动器进行碎片整理 | Microsoft Docs

    对 SQL Server 数据库磁盘驱动器进行碎片整理 12/02/2020 本文内容 本文提供了有关 SQL Server 数据库驱动器的碎片整理的一些指南. 原始产品版本:   SQL Serve ...

  7. 最新【独家沙龙内容整理】机器女友?—百度微软讯飞等顶级专家谈人机对话黑科技及未来 ——by中科院孢子创客空间

    最新[独家沙龙内容整理]机器女友?-百度微软讯飞等顶级专家谈人机对话黑科技及未来 --by中科院孢子创客空间 1.写在前面 非常非常感谢[公众号:机器学习研究会 ]举办的这次沙龙.赞赞赞.以下内容皆来 ...

  8. 运维工程师工作内容整理

    运维工程师工作内容整理 稳定 安全 大性能 自动化 素养 团队沟通 其他 总结两句话: 1.保障业务长期稳定运行(如网站服务器.游戏服务器等). 2.保障数据安全可靠(如用户名密码.游戏数据.博客文章 ...

  9. Java:JVM+数据库(搬砖整理,侵权删文)

    Java:JVM+数据库(搬砖整理,侵权删文) 十一.JVM 1.Java内存区域 1.说一下 JVM 的主要组成部分及其作用? ​ JVM包含两个子系统和两个组件,两个子系统为Class loade ...

最新文章

  1. VC++ 给选项卡控件添加不同图标
  2. 浅谈python socket编程
  3. 博纳影业IPO即将过会 阿里、腾讯均为股东
  4. css中调整高度充满_6个很棒的PostCSS插件,让您成为一个CSS向导
  5. Oracle环境变量
  6. 数据结构与算法之三直接插入排序
  7. 年轻人找不到自己喜欢的工作,怎么办?
  8. python自动化办公模块有哪些-python常见的命令行交互自动化模块有哪些
  9. c语言编程怎么记,新手如何学习c语言
  10. dell 服务器ghost系统,Dell 5000笔记本装win7 64位Ghost系统真正成功教程
  11. delphi2007安装说明(备忘)
  12. matlab柱状图填充不同的颜色不同,使用matlab绘画柱状图,且使用不同的图案填充...
  13. SVN版本控制介绍与使用(超详细版)
  14. 生成扩散模型漫谈:DDPM = 自回归式VAE
  15. android仿小米日历,可周月选择
  16. RAID磁盘列阵介绍
  17. OO系统分析员之路--用例分析系列(4)--业务建模一般步骤和方法[整理重发]
  18. 线性回归与逻辑回归的原理、计算步骤、区别、联系
  19. 操作系统-时间片轮转调度算法
  20. PoE交换机供电距离只能跑100米,就不能再远一点吗?

热门文章

  1. 用Python 生成个性二维码
  2. 如何在RobotStudio搭建基本工作站
  3. 小程序怎么把同名文件的前端数据(wxml)传送到后端(js)
  4. OpenCV 各版本百度云下载
  5. Java面向对象程序设计[董小园版][习题代码答案]-第五章
  6. 苹果切换输入法_落格五笔输入法苹果版下载-落格五笔输入法APP
  7. Linux搭建socks 5代理服务器及使用
  8. Windows消息概述
  9. 你明明是我师父,却偏要做我女朋友
  10. 有苦有乐的算法 --- 使用队列结构实现栈结构