chap02 数据类型与操作数据表

1. 内容回顾

  • MySQL默认端口号3306
  • MySQL超级用户root
  • 创建数据库 CREATE DATABASE
  • 修改数据库 ALTER DATABASE
  • 删除数据库 DROP DATABASE

数据类型:数据类型是指列存储过程参数,表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

2. MySQL数据类型之整型

数据类型 存储范围
TINYINT 有符号值: -128到127(-2^7~2^7-1)
无符号值:0到255(0到2^8-1)
SMALLINT 有符号值: -32768到32767 (-2^{15}~2^{15}-1)
无符号值:0到65535(0到2^{16}-1)
MEDIUMINT 有符号值: -8388608到8388607(-2^{23}2^{23}-1)
无符号值:0到16777215(0到2^{24}-1)
INT 有符号值:-2147483648到2147483647(-2^{31}2^{31}-1)
有符号值:0到4294967295(0到2^{32}-1)
BIGINT 有符号值:-9223372036854775808到9223372036854775807(-2^{63}-12^{63})
无符号值:0到184467440773709551615(0到2^{64}-1)

3. MySQL数据类型之浮点型

数据类型 存储范围
FLOAT[(M, D)] -3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。M是数字总位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。
DOUBLE[(M, D)] -1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到1.7976931348623157E+308

4. MySQL数据类型之日期时间型

列类型 存储需求
YEAR 1
TIME 3
DATE 3
DATATIME 8
DATASTAMP 4

5. MySQL数据类型之字符型

列类型 存储要求
CHAR M个字节,0<=M<=255
VARCHAR(M) L+1个字节,其中L<=M且0<=M<=65535
TINYTEXT L+1个字节,其中L<2^8
TEXT L+2个字节,其中L<2^{16}
MEDIUMTEXT L+3个字节,其中L<2^{24}
LONGTEXT L+4个字节,其中L<2^{32}
ENUM('value1', 'value2'...) 1或2个字节,取决于枚举值的个数(最多65535个值)
SET('value1', 'value2'...) 1,2,3,4或者8个字节,取决于set成员的数目(最多64个成员)

6. MySQL创建数据表

数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。

USE + 数据库名称 打开数据库(必须是已经存在的数据库)

行 ->记录 ; 列 ->字段

创建测试数据库

SELECT DATABASE();显示当前所在的数据库

切换数据库

在test数据库中创建数据表

创建数据表
CREATE TABLE [ IF NOT EXISTS ] tb_name ( column_name, data_type, ...)
列名称,数据类型

创建数据表

7. MySQL查看数据表

SHOW TABLES
查看数据表列表 SHOW TABLES [ FROM db_name ] [ like ' pattern ' | WHERE expr ]
不仅可以查看当前数据库下的数据表,还可以直接查看其他数据库的数据表列表

EX: SHOW TABLES FROM mysql

查看mysql数据库中的数据表

查询过程中当前数据库不会改变,仍然为test

验证

8. MySQL查看数据表结构

SHOW COLUMNS
查看数据表结构
SHOW COLUMNS FROM tb_name;

查看数据表的数据成员

9. MySQL记录的插入与查找

INSERT 插入记录
INSERT [ INFO ] tb1_name [(col_name,...)] VALUES (val,...)
也就是插入表的名字,参数名,以及对应的值

Ex: INSERT tb1 VALUES ('Tom', 25, 7863.25) OK
INSERT tb1 VALUES ('Tom', 25) ERROR (缺少一个参数)

验证插入

也可以只为某些字段赋值,则未赋值的字段为NULL
INSERT tb1 (username salary) VALUES ('John', 4500.69)

验证插入

SELECT
记录查找
SELECT expr,... FROM tb1_name

SELECT * FROM tb1;
*为字段的过滤

显示当前表的内容

10. MySQL的空值与非空

增加与创建数据库时将字段设计的更加完善

  • NULL 字段值可以为空
  • NOT NULL 字段值禁止为空
image.png
创建的表的列的情况

插入元素
INSERT tb2 VALUES ('Tom', NULL)
SELECT * FROM tb2

插入并验证NULL

尝试使username字段为空

报错

11. MySQL的自动编号

不能存在重复的时候较有用
AUTO_INCREMENT属性

  1. 自动编号,且必须与主键组合使用
  2. 默认情况下,起始值为1,每次的增量为1.
    字段需要为数值型,即为整型或浮点型。
    浮点型的小数部分为0。
image.png

12. MySQL初涉主键约束

  • 主键约束
  • 每张数据表只能存在一个主键
  • 主键保证记录的唯一性
  • 主键自动为NOT NULL

AUTO_INCREMENT字段必须定义为主键,与 PRIMARY KEY一起使用
主键不一定与AUTO_INCREMENT一起使用

image.png
image.png
插入元素以及展示

可以显然看出id字段自动赋值且自增

如果只有主键,无AUTO_INCREMENT字段


只有主键

主键允许赋值,但是不能赋两个相同的值。


image.png

13. MySQL初涉唯一约束

主键,一张数据表只能有一个。
UNIQUE KEY --一张数据表中可以存在多个,但是此字段的值不能重复。

  • 唯一约束
  • 唯一约束可以保安记录的唯一性
  • 唯一约束的字段可以为空值NULL
  • 每张数据表可以存在多个唯一约束
image.png
image.png
再次执行时会报错,不满足唯一约束

14. MySQL初涉默认约束

DEFAULT

  • 默认值
  • 当插入记录时,如果没有明确为字段赋值时,则自动赋予默认值。


    默认值
值插入username
sex字段默认为3

15. 总结

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

推荐阅读更多精彩内容

  • MySQL5.6从零开始学 第一章 初始mysql 1.1数据库基础 数据库是由一批数据构成的有序的集合,这些数据...
    星期四晚八点阅读 1,137评论 0 4
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,790评论 5 116
  • 想读这本书,有点迫不及待。 去年读过李笑来的《把时间当作朋友》那本书,通过读它我养成了一个习惯,就是在每天的 To...
    _浅墨_阅读 445评论 4 5
  • 自从北京回来之后,我天天在外面的大街小巷找门面。 最开始问的第一个门面是一个杂货店,主营烟酒、副食、水果等。那老板...
    伍海东阅读 385评论 0 0
  • 什么是沟通? 沟通是有了误会及时说明, 有了意见直接提出, 有了矛盾互相认错。 为什么要沟通? 没有沟通, 人和人...
    yetian笨妈妈阅读 166评论 0 0