天天看点

MySQL数据库入门

1、什么是数据库

维基百科关于数据库的定义:

In

computing

, a database is an organized collection of

data

stored and accessed electronically from a

computer system

. Where databases are more complex they are often developed using formal

design and modeling

techniques.

翻译成中文的意思就是:在计算中,数据库是从计算机系统以电子方式存储和访问的有组织的数据集合。在电脑中,我们可以将数据库理解成“文件柜”,需要存储的数据以某种方式进行组织,并存放在“文件柜”中。

DB和DBMS区别:

很多人会把DB和DBMS搞混淆,其实两者是两个东西。DB(database)指的是数据库容器;DBMS(database management system)指的是数据库管理系统。两者之间的关系是,数据库DB是通过数据库管理系统DBMS创建和操纵的容器。在实际使用中,我们并不直接访问数据库,而是使用DBMS来访问数据库。

2、MySQL数据库重要概念

MySQL数据库入门

2.1 表

表(table):指的是某种特定类型数据的结构化清单。

上述概念中有两个重要的知识点:

  • 特定类型 -> 指一种类型比如用户信息、订单信息、商品信息,表设计不允许杂糅各种数据类型
  • 结构化清单 -> 指表数据按照用户需求进行结构化拆分和组织的数据,比如用户信息拆分为用户名、性别、年龄等结构化数据

表在同一个数据库中不允许同名,不同数据库中允许同名

可以通过show tables查看数据库中的表

MySQL数据库入门

user表的结构化清单

MySQL数据库入门

2.2 列

列(column):表中的一个字段,一个表有一个或多个列组成。

在上述用户信息表中,拥有用户名列、性别列、年龄列等,这些列共同组成了用户表。

MySQL数据库入门

MySQL数据库中列都有其对应的数据类型。数据类型(datatype)会约束列所能存放的数据。比如可以防止在数值类型的字段中录入字符类型数据。

MySQL数据库入门

可以通过show full columns from

表名

查看表的具体列信息

MySQL数据库入门

2.3 行

行(row):表中的一条记录。

MySQL数据库中的数据以行的形式存储,每一条数据都是一行(也可以称之为记录),但是正确的没有歧义的说法是行(hang)。

MySQL数据库入门

2.4 主键

主键(primary key):一列或几个列,其值或组合值能够唯一区分表中的每个行。

主键就好比人的身份证号,它不会重复,可以用于标记认得身份。值得注意的是,主键可以是多个列共同组成。

MySQL数据库入门

也可以通过DDL查看,主键用PRIMARY KEY标识

CREATE TABLE `user` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',

  `name` varchar(255) NOT NULL COMMENT '姓名',

  `age` int(11) NOT NULL COMMENT '年龄',

  `sex` smallint(1) DEFAULT NULL COMMENT '性别',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

定义主键需要满足两个条件:

  1. 主键列数据不重复
  2. 主键列数据不为空(null)

只要满足这两个条件,列就可以作为主键。建议表设计时,一定要定义主键,拥有主键能够方便数据查询、删除、更新等操作,否则相对比较麻烦。

定义主键满足的两个规范:

  1. 主键值不应该更新
  2. 主键值不应该具有业务意义、也就是说除了标志作用,不应该用于其他业务使用

3、SQL应该怎么读

SQL是Strucctured Query Language的缩写,在读的时候我们可以拆开读S—— Q——L,大部分情况下我们是组合起来读的,应该读作sequel / [ˈsiːkwəl] .

此链接在线朗读

https://fanyi.baidu.com/?aldtype=16047#en/zh/sequel