美文网首页
chap02 数据类型与操作数据表

chap02 数据类型与操作数据表

作者: 月涩风潇 | 来源:发表于2018-10-08 21:54 被阅读0次

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. 总结

相关文章

  • chap02 数据类型与操作数据表

    1. 内容回顾 MySQL默认端口号3306 MySQL超级用户root 创建数据库 CREATE DATABAS...

  • MySQL5.7从入门到精通 pdf下载

    包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(...

  • mysql必知必会 pdf下载

    包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(...

  • chap03 约束以及修改数据表

    1.回顾和概述 数据类型: 整型 浮点型 字符型 日期时间型 数据表操作 如何创建数据表 PRIMARY KEY(...

  • 第三章 约束和修改数据表

    回顾和概述 数据类型 整型 浮点型 字符型 日期时间型 数据表操作 如何创建数据表 PRIMARY KEY(主键约...

  • SQL Server 操作数据表

    操作数据表 一、数据表基础 1、基本数据类型 1.1、Character 字符串: 1.2、Unicode 字符串...

  • 算法1.2

    数据类型:一组值和一组对其操作的集合抽象数据类型ADT:一种将数据与函数的实现相关联,隐藏了数据表示的数据类型,支...

  • 2、数据类型与操作数据表

    2、 数据类型与操作数据表 数据类型:指的是列、存储过程中参数、表达式和局部变量的数据特征,它决定了数据的存储格式...

  • MySQL

    sql 分类 sql 基本语法 DDL(数据定义语言create drop alter) 数据表操作 数据类型 字...

  • MySql笔记

    Mac安装并运行MySql MySql数据库、数据表的操作 MySql数据类型及常见约束 MySql表操作 MyS...

网友评论

      本文标题:chap02 数据类型与操作数据表

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