产品操作MySQL第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表已经被删除掉了。


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


到此完事儿。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容