浅谈SQL技术

134 阅读3分钟

本文正在参加「技术专题19期 漫谈数据库技术」活动

1.SQL语言概述

  • 数据定义功能,DDL(Data Definition Language) 提供命令定义关系模式、索引、视图,包括创建CREATE,修改ALTER以及删除DROP等命令。
  • 数据操纵功能,DML(Data Manipulation Language) 提供命令对存储在数据库中的数据进行查询和修改操作,包括查询数据SELECT、插入数据INSERT、更新数据UPDATE、删除数据DELETE等命令。
  • 数据控制命令,DCL(Data Control Language) 提供对关系和视图的授权命令、事务的控制命令以及并发控制中的加锁操作

SQL的特征

  • 综合统一
    • 集DDL、DML、DCL的功能于一体
    • 数据操作符统一
  • 高度非过程化
    • 只需提出“做什么”,而无需指明“怎么做”
    • 无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成
  • 面向集合的操作方式
    • 操作对象和结果均为集合
  • 可独立使用又可嵌入主语言使用
    • 图形化用户接口GUI
    • 终端输入命令
    • 嵌入到JAVA,C++等高级语言中

1. 数据类型 image.png

  1. 数据库基本结构定义
  • 在SQL SERVER中使用一组操作系统文件来映射数据库,数据库中的所有数据和对象(如表、存储过程、触发器和视图)都存储在三类操作系统文件中:
    • 第一类是主文件,扩展名为mdf。包含数据库的启动信息及数据信息;
    • 第二类是次要文件或从文件,扩展名为ndf。含有主文件以外的所有数据;
    • 第三类是事务日志,扩展名为ldf。包含用于恢复数据库的日志信息

2.MySQL数据库基本操作

基于库的操作

  • 创建数据库 CREATE BATABASE <数据库名>
  • 修改数据库 ALTER DATABASE <数据库名>
  • 删除数据库 DROP DATABASE <数据库名>

基于表的操作

  • 基本表的定义
    <列名1> <列类型> <列约束>,
    <列名2> <列类型> <列约束>,
    …
    <列名n> <列类型> <列约束>,
    < 表约束> | [ { PRIMARY KEY | UNIQUE } [ ,…] ]
)
表名形式为:[数据库名[.拥有者.]]表名  
  • 基本表的修改
    [ ALTER COLUMN <列名> <数据类型>],
    |[ ADD  <新列名> <数据类型> <约束定义>],
    |[ DROP  COLUMN<列名>],
    |[ ADD [CONSTRAINT<约束名> <约束定义>],
    |[ DROP  [CONSTRAINT]<约束名>];

  1. ADD子句:增加新列和新的完整性约束条件
  2. DROP子句:删除指定的完整性约束条件
  3. ALTER子句:用于修改列名和数据类型
  • 基本表的删除
DORP TABLES <基表名>

SQL查询语句

基本查询结构
  • 基于列的查询 SELECT *FROM <表名>
  • 查询特定列SELECT <列名> FROM <表名>
  • 不重复查询SELECT DISTINCT <列名> FROM <表名>
  • 条件查询SELECT <列名> FROM <表名> WHERE <条件>
WHERE子句中的运算符
  • 比较运算符
	= 相等               ! =   不等于
	< >不等于            < =   小于等于
	<  小于              > =   大于等于
	>  大于

  • 逻辑运算符
AND                  OR                        NOT
  • 确定范围运算符
	BETWEENAND                                       NOT BETWEENAND       
  • 字符串比较运算符
      _(下画线):匹配任意一个字符。                  %(百分号):匹配任意长度的字符 
  • 集合运算符
IN                                                 NOT IN
用聚集函数统计查询结果

image.png

  • 例子 求和 SELECT SUM(列名) FROM <表名> 其他函数使用方法参照以上语句

本文正在参加「技术专题19期 漫谈数据库技术」活动