SQL与关系数据库基本操作——数据库系统原理(本科)

第一节:SQL概述

一、SQL的发展——结构化查询语言(不区分大小写)
关系代数和关系演算之间的语言。
二、SQL的特点
1、不是某个特定数据库供应商专有的
2、简单易学,很强描述性的单词组成
3、看上去简单,是一种很强力的语言,可以进行复杂和高级的操作
三、SQL的组成
1、数据定义语言DDL——create创建,alter修改,drop删除
2、数据操作语言DML——insert添加,delete删除,update更新
3、数据控制语言DCL——grant授权,revoke撤销
4、嵌入式和动态SQL规则
5、SQL调用和会话规则

第二节:MYSQL预备知识

一、MYSQL使用基础
1、LAMP(Linux+Apcahe+MySQL+PHP/Perl/Python)
2、WAMP(Windows+Apcahe+MySQL+PHP/Perl/Python)
二、MYSQL中的SQL
1、常量
(1)字符串常量:单引号或双引号括起来的字符序列,ASCII字符串常量(一个字节)和Unicode字符串常量(两个字节)
(2)数值常量:整数常量和浮点数常量
(3)十六进制常量
(4)日期时间常量:DATE和TIME
(5)位字段值
(6)布尔值:TRUE和FALSE
(7)NULL值:空值、无数据
2、变量——@定义
用户可以在表达式重使用自己定义的变量——用户变量
使用前必须定义和初始化,没初始化的值为NULL
3、运算符
(1)算术运算符:加、减、乘、除、求模(取余)
(2)位运算符:位与&、位或|、位异或^、位取反~、右移(除2)>>、左移(乘2)<<
(3)比较运算符:=、>、<、>=、<=、!=
(4)逻辑运算符:与、或、非、异或
4、表达式:常量、变量、列名、复杂计算、运算符和函数的组合
5、内置函数

第三节:数据定义

一、数据模式定义
1、创建数据库 create database [if not exists] 数据库名
2、选择数据库 use 数据库名
3、修改数据库 alter database 数据库名
4、删除数据库 drop database 数据库名
5、查看数据库 show databases
二、表定义
数值类型:整数类型——int 浮点——float、double、decimal
日期和时间:日期——date 时间——datetime、time 时间戳——timestamp
字符串:固定长度——char(255位) 可变长度——varchar(65535) 文本——text
1、创建create table [if not exitst] 表名 { 字段名,数据类型 [ 约束 ] }
2、添加字段alter table 表名 add 新的字段 已有字段
3、修改字段alter table 表名 change/alter/modify 原字段 新字段
4、删除字段alter table 表名 dorp 字段
5、重命名alter table 原表名 rename 新表名
Rename table 原表名 to 新表名(批量)
6、删除表 dorp table 表名
7、查看表 show table [ from | in] 表名
三、索引定义——目录
用途:
普通索引——index 唯一性索引——unique
主键——primary key 全文索引——fulltext 聚簇索引
1、创建索引:create index 索引名 on 表名 (列 [ 长度 ] [ asc | desc ] )
2、查看索引:show { index | indexs | keys } { from| in } 表名 [ { from| in } 数据库 ]
3、删除索引:drop index 索引名 on 表名
alter table 表名 drop index 索引名

第四节:数据更新

一、插入数据
Insert into 表名 (列) values (数据)
二、删除数据
Delete from 表名 [ 条件 ]
Truncate [ table ] 表名——清空数据
三、修改数据
Update 表名 set 列=值 [ 条件 ]

第五节:数据查询

一、SELECT语句
Select 数据 from 表名 where 条件
二、列的选择与指定
1、选择列指定:select 各列名 from 表名
选择所有列:select * from 表名
2、定义并使用列的别名:select 列名 as 别名 from 表名
3、替换查询结果数据:case where 条件 then 表达式 else 表达式 end
4、计算列值:select 计算 from 表名
5、聚合函数:count max min sum avg
三、FROM子句与夺标连接查询
1、交叉连接
2、内连接:from 表1 [ inner ] join 表2 on 连接条件
等值连接:from 表1,表2 where table1.字段 <条件运算符> table2.字段
3、外连接:
左连接:from 表名1 [ left ] join 表名2 on 连接条件
右连接:from 表名1 [ right] join 表名2 on 连接条件
四、WHERE子句与条件查询
比较、确定范围(between…and)、确定集合(in,not in)、字符匹配(%,_)、
空值(is null,is not null)、多重条件(and、or)
子查询:in语法:where 列名 in (select语句)
比较运算符:where 列名 <比较运算符> (select语句)
Exist查询:where exist (select语句)
五、GROUP BY子句与分组数据
按某一列的值相同的分成一组,进行聚合运算
六、HAVING子句
在GROUP BY之后进行过滤
七、ORDER BY子句
排序:asc升序和desc降序
八、LIMIT子句
Limit [ 位置 ] 行数

第六节:视图——一张虚表

一、创建视图
Create [ or replace ] view 视图名称 as select语句
二、删除视图
Drop view [ if exists ] 视图名称
三、修改视图定义
Alter view 视图名 as select语句
四、查看视图定义
Show create view 视图名
五、更新视图数据
必须保证视图是可更新图
六、查询视图数据
对视图进行查询检索:select * form 视图名

发布了16 篇原创文章 · 获赞 0 · 访问量 632

猜你喜欢

转载自blog.csdn.net/qq_43405315/article/details/105091471