MySQL入门2(持续更新)-常见名词及常用字段类型介绍

想了想,要不要中间加一篇安装MySQL的文章。最后还是算了,因为安装真的挺简单的,百度一下或者问问AI能找很多教程。当然如果一定想看我出的,私信我安排!

常见名词

数据库(Database)

数据库是存储数据的集合,它按照一定的数据结构来组织数据,以便快速访问和处理。每个数据库都是独立的命名空间,并且是唯一的,其中可以包含多个表。

创建数据库的基本SQL语句如下:

CREATE DATABASE my_first_db;

这条命令创建了一个名为my_first_db的新数据库。

表(Table)

表是数据库中的一个结构,用于存储数据,在一个数据库中,表根据名字区分,名字是唯一的。它由多行(记录)和多列(字段)组成,每列都有特定的数据类型。你可以简单的将某个对象看做一张表,这个对象的一些特定的属性,设置成对应的字段。比如用户有名字,有年龄等等。

创建表的基本SQL语句如下:

CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

此命令在my_first_db数据库中创建了一个名为users的表,包含id(用户ID,主键),username(用户名),age(年龄)和created_at(创建时间)字段。

字段(Field)/列(Column)

字段(列)是表中的一个属性,用来描述数据的性质。每个字段都有名称和数据类型。

记录(Record)/行(Row)

记录(行)是表中的一条数据,每个记录包含了字段的一组具体值。

插入记录的基本SQL语句如下:

INSERT INTO users (username, email) VALUES (‘明月望秋思’, ‘mailfromxq@163.com’);

这条命令在users表中插入了一条新记录。

主键(Primary Key)

主键是表中的一个或多个列的组合,用来唯一标识表中的每一行。主键的值必须是唯一的,并且不能为NULL。
主键示数据库中比较重要的知识点,通常情况下,所有的表都会建立主键索引。
在创建表时定义主键的基本SQL语句如下:

CREATE TABLE users (
id INT AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
PRIMARY KEY (id) );

这条命令指定id字段为主键。

外键(Foreign Key)

外键是表中的一个字段,它在另一个表中作为主键,用于建立两个表之间的链接,确保数据的引用完整性。

创建外键的基本SQL语句如下:

CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
product_name VARCHAR(100),
FOREIGN KEY (user_id) REFERENCES users(id) );

这条命令在orders表中创建了一个外键user_id,它引用了users表中的id字段。
大多数时候,在项目中不会去建立外键,但是要知道有这么个东西。

索引(Index)

索引是数据库表中一个或多个列的值存储的数据结构,通常用于加快数据检索速度。索引类似于书籍的目录,允许数据库快速定位到表中的特定数据。索引是数据库中比较重要的一个知识,因为当表中的数据达到一定量级,数据库的检索效率就会下降,这个时候就需要通过索引来优化查询的效率。

关于索引的知识在进阶后会讲到。

创建索引的基本SQL语句如下:

index_name是索引的名称,通常就index开头就行。
table_name是表的名词,根据名称这个索引会建立到你指定的表上。
column_name是表中某一列的名称,或拿到这个列下面所有的值用于构建索引数据。

CREATE INDEX index_name ON table_name (column_name);

以下是一些常见的索引类型:

  1. 单列索引:基于单个列的索引,如上文所示的index_name 。

  2. 复合索引:基于表中两个或多个列的组合的索引。用的最多的一个索引。

CREATE INDEX users_name_email ON users (username, email);

  1. 唯一索引:保证索引列或列组合中的数据唯一性。

CREATE UNIQUE INDEX unique_email ON users (email);

  1. 全文索引:用于对大型文本数据进行全文搜索。

CREATE FULLTEXT INDEX fulltext_username ON users (username);

索引可以显著提高查询性能,尤其是在处理大量数据时。然而,索引也会增加写操作的开销,因为每次插入、更新或删除记录时,索引都需要维护。

常用字段类型

首先要知道这个字段类型给谁用的?答案是列。
在前面常用名词的知识里面,我们知道表有行有列,每一列都是一个固定类型的字段,这意味着表中每一行数据的这一列的值都是属于这个类型。那么针对每一列的作用选择合适字段类型,对于你数据库的设计是非常重要的。
这里我们将介绍一些常用的字段的类型以及常见用法,学到这些后你可以尝试针对某个事物,定制一张表,并对这张表的字段指定合适的字段类型。在后面学习入门语法的时候用上。

INT:整型字段

通常用于存储整数,如用户ID或排名等。它可以根据需要选择有符号或无符号,有符号的INT范围是-231到231-1,无符号的INT范围是0到2^32-1。

TINYINT:非常小的整数类型

通常用于存储非常小的数值,如布尔值(0和1),有符号的范围是-128到127,无符号的范围是0到255。

BIGINT:大整数类型

适用于需要存储大范围整数值的场景,如有符号的范围是-263到263-1,无符号的范围是0到2^64-1,可用于存储大型系统的ID或计数器。

FLOAT:浮点数类型

用于存储带有小数的数值,如价格或成绩。它有4字节的精度,对于需要高精度计算的场合可能不够。

DOUBLE:双精度浮点数类型

比FLOAT有更高的精度,适用于需要进行精确计算的场合,如科学计算或金融应用。

CHAR:固定长度的字符串

char的长度是预先定义的,适合存储固定格式的数据,如性别(‘M’或’F’)、国家代码(‘US’、‘CN’)等。固定的意思就是假如你设定的长度是5,但你存到数据长度只有3,默认会填充空格到长度为5。所以设定词类型要注意选择存储固定格式。

VARCHAR:可变长度的字符串

适合存储长度不一的数据,如用户名、地址等。VARCHAR会根据实际内容动态分配空间。

TEXT:文本

用于存储大量文本数据,如文章、评论等。TEXT类型有TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT四种,根据存储的文本长度不同而不同。

DATE:日期类型

用于存储日期值,格式为YYYY-MM-DD,适合存储生日、纪念日等日期数据。

TIME:时间类型

用于存储时间值,格式为HH:MM:SS,适用于存储事件发生的具体时间。

DATETIME:日期和时间类型

用于存储日期和时间的组合,格式为YYYY-MM-DD HH:MM:SS,适用于存储创建时间、更新时间等。

选择正确的字段类型可以帮助优化数据库的性能和存储效率。例如,使用适当的整数类型可以减少存储空间的使用,而使用CHAR类型可以保证数据的一致性和快速检索。对于需要高精度计算的场合,选择DOUBLE而不是FLOAT可以避免精度损失。总之,理解每种字段类型的特性和适用场景,可以帮助你设计出更加健壮和高效的数据库。

到这里,一些前置的概念,知识已经讲解的差不多了,接下来就可以考虑使用语法,开始对数据库的数据进行操作了。

我是明月望秋思,这里是MySQL入门的第二篇,学到这里的同学点个赞,收藏不迷路,关注支持一下作者,感谢!

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值