目录
第14章 MySQL数据库系统
知识点归纳
mysql简介
-
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服 务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。
-
在ubuntu中使用
sudo apt install mysql-server
就可以安装。
其中要注意的是: -
所有的 MySQL 命令行末尾必须是分号。对于长命令,可在单独行中输入命令短语 (按下ENTER键)。 MySQL 将会通过-> 符号继续提示更多的输入,直到它看到一个结束分号。
-
MySQL 命令行不区分大小写。虽然不是强制要求,但为了清楚和更容易识别,通常 使用大写编写 MySQL 命令,使用小写编写数据库、表、用户名或文本
mysql特点
- MySQL 是开源的,目前隶属于 Oracle 旗下产品。
- MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL 使用标准的 SQL 数据语言形式。
- MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
- MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
- ]MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
- MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
关系型数据库
优势:
- 采用二维表结构非常贴近正常开发逻辑(关系型数据模型相对层次型数据模型和网状型数据模型等其他模型来说更容易理解);
- 支持通用的SQL(结构化查询语言)语句;
- 丰富的完整性大大减少了数据冗余和数据不一致的问题。并且全部由表结构组成,文件格式一致;
- 可以用SQL句子多个表之间做非常繁杂的查询;
- 关系型数据库提供对事务的支持,能保证系统中事务的正确执行,同时提供事务的恢复、回滚、并发控制和死锁问题的解决。
- 数据存储在磁盘中,安全可靠。
不足:
- 高并发读写能力差:网站类用户的并发性访问非常高,而一台数据库的最大连接数有限,且硬盘 I/O 有限,不能满足很多人同时连接。
- 海量数据情况下读写效率低:对大数据量的表进行读写操作时,需要等待较长的时间等待响应。
- 可扩展性不足:不像web server和app server那样简单的添加硬件和服务节点来拓展性能和负荷工作能力。
- 数据模型灵活度低:关系型数据库的数据模型定义严格,无法快速容纳新的数据类型(需要提前知道需要存储什么样类型的数据)。
苏格拉底挑战
实践过程
- 下载mysql
sudo apt install mysql-server
- 链接mysql
- help
- 新建数据库
CREATE DATABASE test;
- 选择数据库
use test;
- 创建表
CREATE TABLE students(student_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,name CHAR(20),score INT);
SHOW TABLES;
DESCRIBE students;
- 表内添加元素
insert into students values(20211317,'李卓桐','100');