【MySQL】第一章-数据库基础

第一章 数据库基础

什么是数据库

  数据库是程序开发中十分重要且关键的一环,是十分重要也是必要的用来存储数据的方式和手段。和普通的在内存中存储不同,数据库可以将大量的数据更加方便的和快捷地进行管理。因此数据库水平是衡量一个程序员水平的重要指标。

  目前主流的数据库有以下几个。

  1、SQL Server。

  2、Oracle。

  3、MySQL。

  4、PostgreSQL。

  ……

  而本博选用一种在Linux下开源的控制台版本的数据库:MariaDB。此款数据库是MySQL的一个分支,是MySQL之父在MySQL闭源之后重新依据MySQL制作的开源版本,并以自己女儿Maria的名字进行命名。其实与其叫MariaDB为MySQL的替代品,不如称之为升级版本。因为MariaDB在性能上对MySQL多多少少都有所提升,并且还对一些方面的技术有所创新。除此之外MariaDB与MySQL的语法几乎完全一致(其实大多数据库的语法都是相似的,几乎没有很大的区别),也是为了熟悉Linux下的控制台操作我选做MariaDB为例进行学习。

安装及配置

  以下的所有操作均是在root用户下执行。

  1、安装MariaDB服务。

  yum install -y mariadb-server

  2、安装 mariadb 命令行客户端

  yum install -y mariadb

  3、安装 mariadb C library

  yum install -y mariadb-libs

  4、安装 mariadb 开发包

  yum install -y mariadb-devel

  5、更改相关配置

  用vim打开/etc/my.cnf.d/client.cnf文件,vim /etc/my.cnf.d/client.cnf[client] 下加一行配置 default-character-set=utf8

  最终内容

1
2
3
4
5
6
7
8
9
10
11
12
13
#
# These two groups are read by the client library
# Use it for options that affect all clients, but not the server
#


[client]
default-character-set = utf8

# This group is not read by mysql client library,
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options
[client-mariadb]

  用vim打开/etc/my.cnf.d/mysql-clients.cnf文件,vim /etc/my.cnf.d/mysql-clients.cnf[mysql] 下加一行配置 default-character-set=utf8

  最终内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#
# These groups are read by MariaDB command-line tools
# Use it for options that affect only one utility
#

[mysql]
default-character-set = utf8

[mysql_upgrade]

[mysqladmin]

[mysqlbinlog]

[mysqlcheck]

[mysqldump]

[mysqlimport]

[mysqlshow]

[mysqlslap]

  用vim打开/etc/my.cnf.d/server.cnf文件,vim /etc/my.cnf.d/server.cnf[mysqld] 下加配置

1
2
3
4
5
6
7
collation-server = utf8_general_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

sql-mode = TRADITIONAL

  最终内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

sql-mode = TRADITIONAL

# this is only for embedded server
[embedded]

# This group is only read by MariaDB-5.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mysqld-5.5]

# These two groups are only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

[mariadb-5.5]

  使用mysql -h 127.0.0.1 -P 3306 -u root -p来测试是否安装成功,成功后返回以下信息。并进入MariaDB。

1
2
3
4
5
6
7
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

  经过以上步骤,使用quit退出MariaDB,就算是成功安装完毕了,我们就能轻松的开始学习了。

数据库基础介绍

  1、所谓数据库服务器,不过是数据库的系统管理程序,这个管理程序可以管理多个数据库,易班来说,我们每开发一个项目就会单独建立一个数据库来进行数据的存储。同时为了保存应用中实体的数据,一般会在数据库中建立多个表,以保存实体的数据。也就是说在MySQL中我们可以建立多个数据库,而每个数据库中又可以建立多个表,分类进行数据管理。
  2、MySQL数据库可以在多个平台上运行,
当今几乎所有的操作系统都可以运行MySQL,并且在哥哥系统上MySQL可以做到很好的物理体系结构的一致性。
  3、在MySQL语法中其实包含着多个数据操作语言,他们各自有各自独立的语法,一起合作构成了MySQL这个强大的体系。

  DDL:数据定义语言,用来维护存储数据的结构。

  DML:L数据操纵语言,用来对数据进行操作。

  DCL:数据控制语言,主要负责权限管理和事务。

  4、存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎,支持多种存储引擎,每种存储引擎都各有各的优缺点,在早期学习数据库过程中仅做了解。

-------------本文结束感谢您的阅读!-------------
记录学习每一分,感谢您的赞助