美文网首页
第二章 数据类型与操作数据表

第二章 数据类型与操作数据表

作者: 齐天大圣李圣杰 | 来源:发表于2016-09-10 13:34 被阅读0次

    内容回顾

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

    数据类型之整型

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

    整形所占空间
    合理选择数据类型,节省存储空间(选择最合适的为不是最大的数据类型)

    数据类型之浮点型

    浮点型

    M表示数字总位数(整数部分和小数部分)D表示小数的位数

    数据类型之日期时间型

    Paste_Image.png

    TIMESTAMP:1970.1.1-2037.(时间戳:从1970.1.1.0:00::00到当前时间的秒数2^31)
    DATA:1000.1.1-999912.31
    DATATIME:1000.1.1.00:00-9999.12.31.23:59:5 9
    TIME:-8385959-8385959
    YEAR:1970-2069
    实际开发日期时间类型用的不多,存在时区的问题,大多采用数字类型取代(以时间戳的格式存储)

    数据类型之字符型

    Paste_Image.png

    char(M):定长,如果字节数少于M,存储时会在字符串后边增加空格补齐.如:char(5),存放abc,存储时会在后边加两个空格
    varchar(M):变长是多上就存多少
    enum:枚举类型,只能选一个
    set:集合类型,可以选一个,也可以选多个

    创建数据表

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

    行:记录、元组
    列:字段、属性

    数据表存在于数据库中,要想使用数据表,首先要打开数据库,可使用use命令打开数据库。用法:use databasename use后加数据库名打开数据库。

    • 回顾:打开mysql的命令:mysql -uroot -proot -P3306 -h127.0.0.1 -u后是用户名,-p后是密码,-P后是端口号,-h后是主机地址(127.0.0.1表示本机) *

    如何查看当前所打开的数据库:SELECT DATABASE();

    创建数据表:

    CREATE TABLE [IF NOT EXISTS] table_name(
    column_name data_type,
    ......
    )

    IF NOT EXISTS 可以省略,column_name 是列名,data_type是数据类型,可以从刚才的数据类型中选择,“,”是列与列之间的分隔符,最后一列可以不写。
    ** 数据表的建立不能脱离项目,要根据项目需要建立 **
    例:

    CREATE TABLE tb1(
    username VARCAHR(20),
    age TINYINT UNSIGNED,
    salary FLOAT(8,2) UNSIGNED
    );
    

    UNSIGNED:无符号(非负)
    FLOAT(8,2):浮点型,总8位,小数点后2位
    salary:工资

    查看数据表

    查看数据表命令:SHOW TABLES;
    不仅可以查看当前数据库的数据表,还可以查看其他数据库数据表,命令:SHOW TABLES FROM dbname

    • SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]

    ** 查看后当前数据库不会改变。 **

    查看数据表结构

    查看数据表结构命令:SHOW COLUMNS FROM tbl_name
    或者:DESC tbl_name

    记录的插入与查找

    • 插入记录:INSERT [INTO] tbl_name [(col_name,...)] VALUES(val,...)

    中括号里的可以省略,列名可以省略,省略后默认为所有列,需要为所有列赋值
    例:
    INSERT tb1 VALUES('Tom',25,7867.4);
    省略列名,为所有字段赋值
    INSERT tb1(username,salary) VALUES('John',4440.5);
    不省略列名,为部分字段赋值

    • 简单的SELECT命令:SELECT expr,... FROM tbl_name

    SELECT * FROM tb1;

    • 没有赋值的字段会显示为null *

    空值与非空

    • NULL,字段值可以为空
    • NOT NULL,字段值禁止为空

    两个不能同时用到一个字段上,原因你懂的

    例:

    CREATE TABLE tb2(
    username VARCHAR(20) NOT NULL,
    age TINYINT UNSIGNED NULL
    );
    

    NULL可以不写,因为默认就是null(可以为空)
    当插入记录时如果不为NOT NULL(不为空)的列赋值,会报错的哦

    自动编号

    在需要保证某一记录的唯一性(在数据表中这条记录不存在重复),这时,可以为字段添加AUTO_INCREMENT
    ** 可以为整数,也可以是浮点数,浮点数要保证小数位数为0 **
    AUTO_INCREMENT:

    • 自动编号,且必须与主键组合只用
    • 默认情况下,起始值为1,每次的增量为1

    例:

    CREATE TABLE tb3(
    id SMALLINT UNSIGNED AUTO_INCREMENT,
    username VARCHAR(30) NOT NUL
    );
    

    会报错,因为自动编号的字段必须定义为主键

    初涉主键约束

    主键PRIMARY KEY

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

    主键约束的字段不能为空,建表时会自动加上,自己手动加也不会出错

    例:

    CREATE TABLE tb3(
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NOT NUL
    );
    

    主键既可以写成KEY也可以写成PRIMARY KEY

    设为自动编号的字段不用赋值
    例:

    INSERT tb3(username) VALUES('Tom');
    INSERT tb3(username) VALUES('John');
    INSERT tb3(username) VALUES('Rsoe');
    INSERT tb3(username) VALUES('Dimitar');
    

    使用SELECT查看后看到id自动加上了

    AUTO_INCREMENT必须和主键一起使用,但是PRIMARY KEY不一定要和自动编号一起使用

    CREATE TABLE tb4(
    id SMALLINT UNSIGNED PRIMARY KEY,
    username VARCHAR(20) NOT NULL
    );
    

    主键允许赋值,但是不允许存在相同的值

    初涉唯一约束

    主键只能存在一个,如果还想保证数据的唯一性,可以用唯一约束

    UNIQUE KEY:

    • 唯一约束
    • 唯一约束可以保证记录的唯一性
    • 唯一约束的字段可以为空值
    • 每张数据表可以存在多个唯一约束

    唯一约束不约束空值(可以存在多个NULL)
    例:

    CREATE TABLE tb5(
    id SMALLINT UNSIGNED AUTO INCREMENT KEY,
    username VARCHAR(20) NOT NULL UNIQUE KEY,
    age TINYINT UNSIGNED
    );
    

    表结构:


    Paste_Image.png

    初涉默认约束

    DEFAULT:

    • 默认值
    • 当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
    CREATE TABLE tb6(
    id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(20) NOT NULL UNIQUE KEY,
    sex ENUM('1','2','3') DEFAULT '3'
    );
    
    表结构

    没有赋值时系统会使用默认值

    总结

    本节知识点

    • 数据类型
      • 字符型
      • 整型
      • 浮点型
    • 数据表操作
      • 插入记录
      • 查找记录
    • 记录操作
      • 创建数据表
      • 约束的使用

    相关文章

      网友评论

          本文标题:第二章 数据类型与操作数据表

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