美文网首页
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 数据类型与操作数据表

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