MySQL入门(一)数据库基础概念

一、数据库基本概念

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。数据库的好处是可以持久化数据到本地,同时可以实现结构化查询,方便管理数据库相关概念如下:

  1. DB:数据库,保存一组有组织的数据的容器
  2. DBMS:数据库管理系统,又称为数据库软件(产品),用于管理数据库中的数据
  3. SQL:结构化查询语言,用于和DBMS通信的语言

1. RDBMS 术语

在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

2. MySQL数据库基本概况

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。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 系统。

4. 数据库存储数据的特点

  1. 将数据放到表中,表再放到库中
  2. 一个数据库中可以有多个表,每个表都有一个名字用来标识自己,表名具有唯一性
  3. 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中的“类”的设计
  4. 表由列组成,我们也称之为字段。所有表都是由一个或多个列组成的,每一列类似java中的”属性“
  5. 表中的数据是按行存储的,每一行类似java中的“对象”

二、MySQL基本操作

MySQL服务的启动和终止

假设已经 安装好了MySQL,我们可以通过Windows中的服务手动 启动或关闭MySQL服务,也可以通过管理员模式打开命令行,使用net stop mysqlnet start mysql分别关闭和启动MySQL,

MySQL服务端的登陆和退出

MySQL服务端可以直接通过MySQL Shell进入,但这种方式只能容许root用户进入,我们推荐使用命令行进入,在命令行下输入:

1
mysql -h localhost -P 3307 -u root -p

其中3307为本机设定的端口号,每个人可能不一样,-p之后将会要去输入密码,此时输入之前预设的密码即可,也可以直接在后面接,但注意-p若后面直接接密码,不加空格。若是直接本机进入,可以省略-h localhost -P 3307

退出时直接使用exitCtrl+C即可

三、MySQL常用命令

以下命令结尾都需要加分号;

  • show databases;可以显示所有数据库

  • use+库名:打开某个数据库

  • show tables:显示库中的某个表内容

  • show tables from+库名(比如MySQL):从某个库显示表

  • select database():显示所在的库

  • 创建表名为stuinfo:

    1
    create table stuinfo(                                                                                   -> id int,                                                                                              -> name varchar(20));
  • select * from stuinfo:由于为空表,故返回Empty Set

  • desc stuinfo:显示stuinfo表

  • insert info stuinfo(id,name) values(1, 'rose'):插入表

    此时再显示,如下:

    1
    select * from stuinfo;                                                                                 +------+------+                                                                                         | id   | name |                                                                                         +------+------+                                                                                         |    1 | rose |                                                                                         |    2 | john |                                                                                          +------+------+
  • update stuinfo set name='lilei' where id=1;将rose的名字修改为lilei

  • delete from stuinfo where id=1:将lilei删除
  • select version():显示版本号(也可以退出之后mysql --version查看)

四、MySQL的语法规范

  1. 不区分大小写,但建议关键字大写,表名、列名小写
  2. 每条命令最好分号结尾
  3. 每条命令根据需要,可以进行缩进或换行
  4. 注释:
    • 单行注释:#注释文字
    • 单行注释:— 注释文字(需要加空格)
    • 多行注释:/ 注释文字 /
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2020-2021 chenk
  • 由 帅气的CK本尊 强力驱动
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信