• MySQL-数据类型和DDL


    一些相关的概念

    DB(Data Base):数据库,是存储数据的仓库,数据是有组织的进行存储。

    DBMS(Data Base Management System):数据库管理系统,操纵和管理数据库的大型软件

    MySQL酱紫的。

    SQL(Structured Query Language):操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准。

    RDBMS:关系型数据库,建立在关系模型基础上,有多张相互连接的二维表组成的数据库。

    用表存储数据的,就是关系型数据库。

    启动MySQLnet start mysql80

    停止MySQLnet stop mysql80

    (PS:MySQL 开机自动启动)

    客户端连接mysql -u root -p

    (上述方法需配置环境变量)

    SQL分类

    分类英格利斯说明
    DDLData Definition Language定义语言,用来定义数据库对象(数据库,表,字段)。
    DMLData Manipulation Language操作语言,对数据库中的数据进行增删改。
    DQLData Query Language查询语言,查询数据库中表的记录。
    DCLData Control Language控制语言,创建数据库用户、控制数据库的访问权限。

    数据类型

    数值类型
    类型大小有符号范围无符号范围
    TINYINT1byte(-127,128)(0,255)
    SMALLINT2bytes(-32768,32767)(0,65535)
    MEDIUMINT3bytes(-8388608,8388607)(0,16777215)
    INT4bytes(-2147483648,2147483647)(0,4294967295)
    BIGINT8bytes(- 2 63 2^{63} 263, 2 63 2^{63} 263-1)(0, 2 64 2^{64} 264-1)
    FLOAT4bytes(-3.402823E+38,3.402823E+38)0和(1.175494E-38,3.402823E+38)
    DOUBLE8bytes(-1.797693E+308,1.797693E+308)0和(2.225073E-308,1.797693E+308)
    DECIMAL-依赖M(精度)和D(标度)的值依赖M(精度)和D(标度)的值

    DECIMAL是用于精确表述小数的,精度表示整个的长度,标度表示小数所占的长度。

    123.45 M=5 D=2

    在使用DOUBLE的时候,需要指定整个的长度以及小数所占的长度,即M与D。

    sorce double(4,1)# M=4 100.0,D=1 0.1
    
    • 1
    字符类型
    类型大小(byres)描述
    CHAR0~255定长字符串
    VARCHAR0~65535变长字符串
    TINYBLOB0~255不超过255个字符的二进制数据
    TINYTEXT0~255短文本字符串
    BLOB0~65535二进制形式的长文本数据
    TEXT0~65535长文本数据
    MEDIUMBLOB0~16777215二进制的中等长度文本数据
    MEDIUMTEXT0~16777215中等长度文本数据
    LONGBLOB0~4294967295二进制的极大文本数据
    LONGTEXT0~4294967295极大文本数据

    BLOB:二进制数据,相对使用较少;TEXT:文本数据

    定长字符串与变长字符串

    • char(10)预留出10个字符的空间,未填部位采用空格补位。
    • varchar(10)根据当前存储的字符计算存储需要空间,最多不超过10个字符 。
    • char的性能更好(没有多余的计算空间)
    日期类型
    类型大小格式描述
    DATE3YYYY-MM-DD日期值
    TIME3HH:MM:SS时间值or持续时间
    YEAR1YYYY年份值
    DATETIME8YYYY-MM-DD HH:MM:SS混合日期and时间值
    TIMESTAMP4YYYY-MM-DD HH:MM:SS混合日期and时间值、时间戳

    DATETIMETIMESTAMP的时间表示范围不同:TIMESTAMP至2038-01-19 03:14:07,DATETIME至9999-12-31 23:59:59。DATETIME更常用

    DDL

    1. 查询所有数据库:SHOW DATABASES;
    2. 查询当前数据库:SELECT DATABASE();
    3. 创建:CREATE DATABASE[IF NOT EXISTS]数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则]
    4. 删除:DROP DATABASE[IF EXISTS]数据库名;
    5. 使用:USE 数据库名

    查询

    查询表操作(前提是:已经进入数据库内)

    1. 查询当前数据库所有表:show tables
    2. 查询表结构:desc 表名
    3. 查询指定表的建表语句:show create table 表名
    创建

    创建表结构

    create table demo01(
        -> id int comment '学号',
        -> name varchar(50) comment '姓名',
        -> age int comment '年龄',
        -> gender varchar(1) comment '性别'
    ) comment '学生表';
    
    create table employee(
    	id int comment '编号',
        worknum varchar(10) comment '员工工号',
        name varchar(10) comment '员工姓名',
        gender char(1) comment '性别',
        age tinyint unsigned comment '年龄',
        idcard char(18) comment '身份证号',
        enterdate date comment '入职时间'
    )comment '员工表';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    修改

    修改表结构

    1. 添加字段:alter table 表名 add 字段名 类型(长度) [comment 注释][约束];
    1. 修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];

    1. 删除字段:alter table 表名 drop 字段名;
    1. 修改表名:alter table 表名 rename to 新表名;

    1. 删除表:drop table [if exists] 表名
    2. 删除指定表,并重新创建该表:truncate table 表名;

    (truncate实际上是将表中的数据删除,但是留下了表结构,相当于格式化?)

  • 相关阅读:
    Cy3.5-PEG-maleimide/马来酰亚胺,Cy3.5-聚乙二醇-马来酰亚胺,MAL-PEG-Cy3.5
    Java on Azure Tooling 10月更新|Roadmap 更新与 Azure Functions 部署槽支持
    【微机接口】中断的基本概念
    计算机操作系统 第三章:处理机调度与死锁(3)
    k3s 快速入门 - traefix 使用 - 1
    漫谈计算机网络:概述 ------ 从起源开始到分层协议结构,初识究竟什么是计算机网络?
    kvm webvirtcloud 如何添加直通物理机的 USB 启动U盘
    rsync+inotify实时同步数据
    【Springcloud Ribbon】负载均衡
    springboot的几个注解
  • 原文地址:https://blog.csdn.net/Schwertlilien/article/details/126613837