【MySQ必知必会】MySQL 是怎么存储数据的?

  • Post author:
  • Post category:mysql




总结

CREATE DATABASE demo;
DROP DATABASE demo; -- 删除数据库
SHOW DATABASES; -- 查看数据库
--创建数据表
CREATE TABLE demo.test (
barcode text,
goodsname text,
price int );

DESCRIBE demo.test; -- 查看表结构

SHOW TABLES; -- 查看所有表

--怎加主键
ALTER TABLE demo.test 
 ADD COLUMN itemnumber int PRIMARY KEY auto_increment;
-- 向表中添加数据 
INSERT INTO demo.test23(barcode,goodsname,price)24 VALUES ('0001','本',3);



前言

在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是

创建数据库、确认字段、创建数据表、插入数据





一,创建数据库

在Workbench下创建数据库demo。

create database demo;


mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| blog               |
| demo               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

在这里插入图片描述



二,确认字段

MySQL 会让我们确认新表中有哪些列及它们的数据类型。这些列就是 MySQL 数据表的字段。MySQL 数据表由行与列组成,一行就是一条数据记录,每一条数据记录都被分成许多列,一列就叫一个字段。每个字段都需要 定义数据类型,这个数据类型叫做字段类型。每一条数据记录的每一个片段,就按照字段的定义被严格地管理起来了,从而使数据有序而且可靠。MySQL 支持多种字段类型,字段的定义会影响数据的取值范围、精度,以及系统的可靠性。

在这里插入图片描述



三,创建数据表

MySQL 中的数据表是什么呢?你可以把它看成用来存储数据的最主要工具。数据表对存储在里面的数据进行组织和管理,使数据变得有序,并且能够实现高效查询和处理。

CREATE TABLE demo.test (
barcode text,
goodsname text,
price int );

执行完后就可在Workbench中的demo数据库中查看数据表test

在这里插入图片描述
注意两点:

  • 创建表的时候,最好指明数据库。 否则,如果你没有选中数据库,Workbench 会提示错误; 要是你当前选中的光据 ; 不时,还可能把表创建到错误的数据库中。
  • 不要在最后一个字段的后面加逗号“,”,这也是初学者容易犯的错误。


查看数据表的结构

mysql> desc demo.test;
+-----------+---------+------+-----+---------+-------+
| Field     | Type    | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+-------+
| barcode   | text    | YES  |     | NULL    |       |
| goodsname | text    | YES  |     | NULL    |       |
| price     | int(11) | YES  |     | NULL    |       |
+-----------+---------+------+-----+---------+-------+
3 rows in set (0.00 sec)

我来解释下文些信息都代表什么意思。

Field:表示字段名称。

Type:表示字段类型,这里 barcode、goodsname 是文本型的,price 是整数类型的。Null:表示这个字段是否允许是空值(NULL)。

这里你一定要注意,在 MySQL 里面,空值不等于空字符串。一个空字符串的长度是 0, 而一个空值的长度是空。而且,在MySQL 里面,空值是占用空间的。

Key:我们暂时把它叫做键。

Default:表示默认值。我们导入的表的所有的字段都允许是空,默认值都是 NULL。Extra:表示附加信息。关于字段类型和 Key,后面我会具体讲解,这里你只需要知道它们的含义就可以了。


查看数据库中的表

mysql> use demo   --选择数据库
Database changed
mysql> show tables; --查看数据库中的表
+----------------+
| Tables_in_demo |
+----------------+
| test           |
| test9          |
+----------------+
2 rows in set (0.00 sec)


如何使设置主键

MySQL 中数据表的主键,是表中的一个字段或者几个字段的组合。它主要有 3 个特征:

  • 必须唯一,不能重复;
  • 不能是空;
  • 必须可以唯一标识数据表中的记录。

在这里插入图片描述

由于数据表中的字段,每一个都有重复的可能,我们自己创建一个逻辑主键itemnumber


我们就可以添加一个字段,字段类型是整数,我们给它取个名字叫商品编号“itemnumber”。让这个字段的值自动加 1,这样就永远不会重复了.

在 workbench中我们可以修改表结构,也可以使用sql语句修改。

在这里插入图片描述

mysql> ALTER TABLE demo.test 
    ->  ADD COLUMN itemnumber int PRIMARY KEY auto_increment;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

  • ALTER TABLE ,表示修改表;
  • ADD COLUMN,表示增加一列;
  • PRIMARY KEY,表示这一列是主键;
  • auto_increment,表示每增加一条记录,这个值自动增加。



四,插入数据

Workbench的数据导入功能,可以帮助我们把Excel的数据导入到表里面,那么,我们自己怎么向数据表中插入一条数据呢?我

们可以借助 SQL 语句。这里的INSERT INTO 表示向 demo.test 中插入数据,后面是要插入数据的字段名,VALUES 表示对应的值。

mysql>  
mysql>  INSERT INTO demo.test(barcode,goodsname,price)  
    ->  VALUES ('0001','本',3);
Query OK, 1 row affected (0.01 sec)

  1. 要插入数据的字段名也可以不写。这样做的好处是可读性好,不易出错,而且容易修改。
  2. 由于字段 itemnumber 定义了 AUTO_INCREMENT,所以我们插入一条记录的时候,不给它赋值,系统也会自动给它赋值。每次赋值,都会在上次的赋值基础上,自动增加 1。你也可以在插入一条记录的时候给 itemnumber 赋值,由于它是主键,新的值必须与已有记录的 itemnumber 值不同,否则系统会提示错误。



版权声明:本文为qq_43555403原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。