数据库和sql语句

一、数据库和sql语句

(一)数据库的相关概念

1、数据:数据信息。据:属性,对一系列对象的具体属性的描述的集合

2、数据库:用来组织(表示各个数据之间是有关联的,按照规则组织起来)、存储和管理(对数据的增删改查)数据的仓库

3、数据库是企业的重要信息资产,在使用数据库时,要注意(查和增无所谓,删和改要谨慎

4、数据库管理系统(DBMS):实现对数据的有效组织、管理和存取的系统软件mysql

数据库和sql语句_第1张图片

(二)数据库的组成结构

1、数据库是一个人机系统,由硬件、OS、数据库、DBMS和数据库的用户共同组成

2、用户是通过DBMS(各种数据库软件)来对数据库进行操作

(三)数据库的分类

1、关系型数据库:mysql

2、非关系型数据库:redis、es

(四)关系型数据库:存储数据的结构是一个二维表格

1、表:行、列

(1)行:记录、用来描述一个对象的信息
(2)列:字段,用来描述对象的一个属性

2、类型:mysql(中小类型的数据并发请求、免费)、oracle(大数据量使用)、sql-server(已淘汰)、mariaDB、postgresql

(1)关系型数据库当中,表里面的数据是关联的,表和表之间的数据也是关联起来的

(2)重点:多表关联、最多可以关联几张表?(最多三张表、再多会降低查询数据的性能

(五)非关系型数据库:redis

1、保存数据不是一张表格,使用键值对来保存数据(key----value)例:yyy=12

2、类型

(1)redis:缓存性的数据库
(2)es:索引型数据库
(3)MongDB:文档型数据库

3、关系型数据库和非关系型数据库的区别——查询速度上

(1)关系型数据查询速度更慢一些
(2)非关系型数据库可以支持高并发读写,对海量数据依旧保持着高效率的存储和访问

二、mysql数据库的存储引擎

(一)版本

1、5.5之前:MYISAM,不支持事务和外键的存储引擎,适用于读得多,写得好

2、5.6之后,默认的存储引擎(Innodb),可以支持事务、外键,行级锁定的存储引擎,支持高并发性能的应用

(二)事务

1、含义

(1)在数据库中,一个或者多个操作组成的数据操作的序列,这些操作要么全部成功,要么失败一个就全部不执行,确保数据一致性和完整性

2、事务的特点:确保数据库的状态始终保持一致性,确保数据的完整和一致(核心)

(1)原子性。数据库最小的工作单位,要么全部执行成功,要么全部不执行,只要有一个操作失败,整个执行的序列都会被回滚,完成的操作也会被撤销

(2)一致性。事务执行前后,数据库的完整性约束不能被破坏,只有在满足所有的约束条件情况下,事务才能被提交

(3)隔离性。事务的执行是相互隔离,一个事务的执行不能受到其他执行事务的干扰,并发事务之间相互隔离,防止数据不一致的情况发生

(4)持久性。事务一旦提交,他所做的所有修改会被永久的保存在数据库中,既是系统崩溃,提交的数据也不会丢失

(三)mysql的名词

database

数据库

table

row

column

index

索引

view

视图

procedure

存储过程

trigger

触发器

user

用户

privilege

权限

(四)mysql语句规范

1、sql语句不区分大小写,但建议大写

2、表名严格区分大小写

3、sql语句可以单行也可以多行书写,但是默认都以;结尾

4、关键词不能跨行或者简写

5、子语句通常位于多行,便于编辑,提高可读性

(五)mysql的命名规则

1、必须以字母开头,后面可以包含数据,

2、特殊符号:# _ $

3、不要使用mysql的保留字做表名或者库名,例如:table、select

4、数据库名、表名、用户名严格区分大小写

(六)mysql的字符类型

int

4个字节,用来存储整数,范围很大

char(字符串类型)

固定长度的字符串类型,用来存储固定长度的字符串

varchar(字符串类型)

可变长度的字符串类型,存储可变长度的字符串(不可以无限制的随便写,要根据类型的长度)

‘ ‘ ——char固定占4个字节,二varchar占1个字节

‘ab’——char占4个字节,varchar占3个字节

1、char:无论是否定义值,都会占用固定长度的字节大小

2、varchar:在保存时,例如固定14,实际长度占5个,最后占用长度为6个字节(5个+1个隐藏符)

3、varchar比char节省磁盘空间,但是varchar读写速度比char慢

字符窜类型,一定要用单引号引起

float(m,d)

单精度浮点数,存储浮点数,m表示总位数,d表示小数位

double(m,d)

双精度浮点数,存储浮点数,m表示总位数,d表示小数位

text

用于存储大文本数据,例如:文档,长字符串

image

二进制存储图像,图片、多媒体

decimal(5,2)

用于存储固定精度的小数,5表示总位数,2表示小数位

date

存储日期:yyyy-mm-dd

datetime

存储日期:yyyy-mm-dd HH:MM:SS(时:分:秒)

timestamp

和datetime的格式一样,可以自动更新为当前的时间戳

三、sql语句

(一)sql语句的分类(重点)

1、DDL:数据定义语言,用于创建数据库的对象,例如:创建库、表、索引

(1)create:创建
(2)drop:删除
(3)alter:修改

2、DML:数据操作语言,对表中的数据进行管理

(1)update:更新
(2)insert:添加
(3)delete:删除(对表里的内容进行删除操作)

3、DQL:查询数据记录(使用最多)——重点

(1)select:选择

4、DCL:数据控制语言,设置或者更改数据库用户或者用户的权限

(1)grant:赋予权限
(2)revoke:取消权限

5、TCL:事务控制语句,管理数据库当中的事务

(1)commit:确认提交事务,一旦提交之后,就无法修改
(2)rollback:事务提交之后无法回滚,只有在commit之前才可以rollback
(3)savepoint:保存点,可以回滚
null和空格的区别:
null:什么都没有,对象没有任何的描述信息
空格:也是字符,也是描述信息

(二)sql语句的实操

数据库和sql语句_第2张图片

数据库和sql语句_第3张图片

数据库和sql语句_第4张图片

数据库和sql语句_第5张图片数据库和sql语句_第6张图片

数据库和sql语句_第7张图片

1、DDL:数据定义语言:create(创建)、drop(删除)、alter(修改)

(1)新建库、删除库

数据库和sql语句_第8张图片

数据库和sql语句_第9张图片

(2)新建表、删除表

数据库和sql语句_第10张图片

数据库和sql语句_第11张图片

(3)修改表名

数据库和sql语句_第12张图片

(4)修改表的结构

数据库和sql语句_第13张图片

(5)修改列名

数据库和sql语句_第14张图片

(6)删除列

数据库和sql语句_第15张图片

(7)修改列的数据类型

数据库和sql语句_第16张图片

2、DML:数据操作语言,对表中的数据进行管理:update(更新)、insert(添加)、delete

(1)往表中添加数据

数据库和sql语句_第17张图片

数据库和sql语句_第18张图片

(2)update更新

①修改密码(给密码加密)

数据库和sql语句_第19张图片

②添加内容

数据库和sql语句_第20张图片

(3)delete删除

数据库和sql语句_第21张图片

3、DQL:查询数据记录(使用最多):select

(1)指定条件查询

数据库和sql语句_第22张图片

数据库和sql语句_第23张图片

数据库和sql语句_第24张图片

(2)去重查询

数据库和sql语句_第25张图片

数据库和sql语句_第26张图片

数据库和sql语句_第27张图片

你可能感兴趣的:(数据库,sql)