美文网首页产品经理互联网产品思考产品面面观
产品操作MySQL第2篇 – 设计一张表

产品操作MySQL第2篇 – 设计一张表

作者: 杨呀 | 来源:发表于2019-04-23 12:39 被阅读2次
MYSQL

本资料为产品岗位作为日常工作参考,语言口语化

At 2019/4/15 By David.Yang

了解数据表的“字段”概念

我们前面说到,Excel、数据表都有一个表头,

比如学生号、姓名、性别、年龄、地址、生日

这些表头中的项我们在数据库中称之为字段(field)。

字段有自己的数据类型、大小、用途,比如:

学生号,明显是一个数值,姓名明显是一个文本。

MySQL中对数据类型有相应的规范,

你在设计自己的数据表的时候,

根据自己的业务,业务中的数据类型,

去规范你需要的字段类型即可。

数值类型

日期时间类型

字符串类型

数据类型文献:

https://www.w3cschool.cn/mysql/mysql-data-types.html

以上数据类型虽然很多,但不是你需要将他们都死记硬背下来,

着更多是一种参考意义,

因为字段怎么确定类型、确定长度是你根据自己的业务来确定的。

最常用的类型熟悉即可:

数值类型一般常用:int;

日期类型:我们一般也使用数值类型存事件戳,使用的时候程序端自己转成时间格式;

文本类型一般常用:varchar、text、longtext

your first show time of create table!

设计一张学生表

SQL

CREATETABLE `analyst`.`students`  (

  `number` int(11) NOT NULL AUTO_INCREMENTCOMMENT '学号',

  `name` varchar(50) NULL COMMENT '姓名',

  `gender` tinyint(2) NOT NULL DEFAULT 0COMMENT '性别 0未知 1女 2男',

  `age` int(4) NOT NULL DEFAULT 0 COMMENT '年龄',

  `dynasty` varchar(10) NULL COMMENT '朝代',

  `address` varchar(255) NULL COMMENT '地址',

  `class` int(2) NULL COMMENT '班级',

  `deleted` int(2) NOT NULL DEFAULT 0 COMMENT '是否删除 0未删除 1已删除',

  PRIMARY KEY (`number`),

  KEY `deleted` (`deleted`)

)

ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生表';

使用SQL创建数据表有固定的语法:

CREATE TABLE table_name

(

       column_name1data_type(size),

       column_name2data_type(size),

       column_name3data_type(size),

       ....

);

- 针对CREATE 语句尾部我们可以补充(ENGINE)类型、(CHARACTER)字符、(COMMENT)注释等

ENGINE = InnoDB CHARACTER SET = utf8

COLLATE = utf8_general_ci COMMENT = '学生表';

- 针对CREATE语句中的每个字段,包括以下内容

创建一张学生表

通过截图进行解释:

查看所有数据库

SQL

mysql>show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| analyst            |

+--------------------+

2 rows in set (0.00 sec)

mysql>

选择要操作的数据库(重要,憋手贱操作错误的数据库)

SQL

mysql>use analyst;

Database changed

mysql>

Database changed提示即表示你已经成功切换到想要操作的数据库

查看有哪些数据表

mysql>show tables;

+-------------------+

| Tables_in_analyst |

+-------------------+

| test              |

+-------------------+

1 row in set (0.01 sec)

这个库中已经存在的数据表有哪些,这里我之前已经创建了个test数据表,

如果0 row in set则表示当前数据库是空的,没有数据表。

创建已经设计好的数据表

SQL

CREATETABLE `students`  (

  `number` int(11) NOT NULL AUTO_INCREMENTCOMMENT '学号',

  `name` varchar(50) NULL COMMENT '姓名',

  `gender` tinyint(2) NOT NULL DEFAULT 0COMMENT '性别 0未知 1女 2男',

  `age` int(4) NOT NULL DEFAULT 0 COMMENT '年龄',

  `dynasty` varchar(10) NULL COMMENT '朝代',

  `address` varchar(255) NULL COMMENT '地址',

  `class` int(2) NULL COMMENT '班级',

  `deleted` int(2) NOT NULL DEFAULT 0 COMMENT '是否删除 0未删除 1已删除',

  PRIMARY KEY (`number`),

  KEY `deleted` (`deleted`)

)

ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生表';

结果如下

再查看创建的数据表

SQL

mysql>show tables;

+-------------------+

| Tables_in_analyst |

+-------------------+

|students          |

| test             |

+-------------------+

2 rows in set (0.00 sec)

mysql>

我们可以看到statudents学生表已经创建好了。

如果对创建的数据表正确性不放心,也可以通过下面SQL查看表结构

SQL

mysql>desc students;

到此为止,我们已经能够创建一张数据表了。

不想要一张数据表该怎么办?

数据表支持直接删除,在生产环境中请谨慎操作,

删库一时爽,悔时要剁手。

示例:

我先复制一张表出来,然后再演示删除一张表。

SQL

mysql> CREATE TABLE `test1` SELECT * FROM `test`;

Query OK, 1 row affected (0.05 sec)

Records: 1  Duplicates: 0  Warnings: 0

mysql> show tables;

-- 删除数据表

-- DROP TABLE `数据表名`;

SQL

mysql>DROP TABLE `test1`;

Query OK, 0 rows affected (0.02 sec)

mysql>show tables;

我们会发现之前的test1表已经被删除掉了。

本片讲解怎么设计一张数据表,以及创建一张自己的数据表,

到此完事儿。

相关文章

网友评论

    本文标题:产品操作MySQL第2篇 – 设计一张表

    本文链接:https://www.haomeiwen.com/subject/qkqvgqtx.html