数据库基础知识及MySQL学习(一)

1. 关系型数据库和非关系型数据库的区别

        关系型数据库:安全(保存在磁盘基本不会丢失),容易理解和掌握,比较浪费磁盘空间

        非关系型数据库:不安全(断电数据会丢失),效率高(运行在内存上比磁盘效率要高)

2. SQL语句分为三个部分:

      DDL: Data Definition Language, 数据定义语言,用来维护存储数据的结构(数据库,表),代表指   令:create, drop, alter等。

      DML:Data Manipulation Language, 数据操作语言,用来对数据的操作(数据表中内容),代表指令:insert, delete, update等:其中DML内部又单独进行了一个分类:DQL(Data Query Language:数据查询语言,例如 select)

      DCL:Data Control Language, 数据控制语言,主要是复制权限管理(用户),代表指令:grant, revoke等。

3.Mysql服务端和客户端的交互过程

Mysql是一个c/s架构的软件,有服务端和客户端,服务端一般在机房长期运行,客户端在需要使用的时候才启动,想要访问服务器必须要在客户端进行连接和授权认证过程。具体服务端和客户端的交互过程如下。

1.客户端连接服务端并认证

mysql.exe -hlocalhost -P3306 -uroot -p

服务器的默认端口是3306.

这里如果想要实现下面图的cmd输入命令,需要提前把mysql安装位置添加到系统path这个环境变量。

2.客户端发送SQL指令  show databases;

3.服务端接收指SQL指令,处理指令,发送结果

4.客户端接收结果,显示结果

5.断开连接,释放资源(服务器并发限制)

在cmd窗口退出数据库连接有三种方法,命令分别是 eixt, quit, \q

交互的方式除了在cmd里输入操作指令,我们还可以在mysql提供的Workbench这个工具,或者网络上其他的好用客户端,例如SQLyogEnt.exe,图标是一个小海豚。

4.Mysql数据库数据对象分为四层:

系统(DBMS)-> 数据库(DB)-> 数据表(Table)-> 字段(Field)

四个的管理和包含关系,可以用下图来表示

 数据库基础知识及MySQL学习(一)_第1张图片

图解:

       外围表示操作系统,一般指电脑,操作系统根据端口号3306可以找到mysql这个软件,也就是操作系统可以管理Mysql程序。我们知道在Mysql中,DBMS是用来管理不同的DB,不同DB中有很多个不同的Table,Table中有不同Field。

5. SQL基本操作CRUD

将SQL的基本操作根据对象分三类:库操作,表操作(字段),数据操作。

库操作

对数据库的增删改查  create, drop, alter, show databases;

新增数据库

基本语法:Create database 数据库名字 [库选项];

库选项:用来约束数据库,主要有两项:

     字符集设定:charset/characterset 具体字符集(数据存储的编码格式)

     校对集设定:collate具体校对集(数据比较的规则)

常见的字符集有: GBK 和 UTF8

具体命令操作:

在输入上面创建数据库命令之前,你需要先连接上数据库,不会请看前面一篇文章。

 


查看数据库

1. 查询全部数据库

基本语法:show databases;

命令操作:

数据库基础知识及MySQL学习(一)_第2张图片

注意:上面提到了sql语句中当行注释的写法,--后面要跟空格,也可以用#号来注释。


2. 查询部分数据库,模糊查询

基本语法:show databases like ‘pattern’;  --pattern是匹配模式

%: 表示匹配多个

_: 表示匹配单个

命令操作:

数据库基础知识及MySQL学习(一)_第3张图片

       这里注意下:如果数据库名称有下划线,例如mydatabase_test,要查询以mydatabase_开头的命令就要这样去写:show databases like ‘mydatabase\_%’, 在下划线前面加上反斜杠表示转译,如果不加就当做查找单个匹配去执行。


更新数据库

       数据库名称是不可以修改的,数据库的修改操作只限于对字符集和校对集的修改,而校对集依赖字符集。

语法格式:alter database 数据库名称[选项]

选项有:charset=UTF8(等号可以写也可以是空格);collate 校对集名称


命令举例:

数据库基础知识及MySQL学习(一)_第4张图片

       这里把mydatabse这个数据库的字符集改成了GBK,一般来说,数据库创建好了之后,建议不要去修改这些信息的,所以,在创建数据库的时候就要考虑好这些设置。


删除数据库

删除操作是做简单的,不管是删除数据库还是表。语法结构:drop database 数据库名称;

命令举例:


注意:在执行删除数据库命令之前,一般需要备份,一旦删除了,就全部没有,包括数据库里的表数据,这个操作要慎重。

      数据库的增删改查命令相对很简单,创建和查看全部数据命令经常用,更新和删除数据库操作还是使用场景比较少见,建议记住库的四个增删改查4个语句语法。

 


你可能感兴趣的:(数据库基础知识及MySQL学习(一))