• SQL数据定义语言(DDL)命令应用


    一、数据库操作

    1.查看数据库

    show databases;
    
    • 1

    2.创建数据库

    create database 数据库名字 default charset utf8mb4 ;
    
    • 1

    后面数据库名用nice代替
    3.删除数据库

    drop database if exists nice;
    
    • 1

    4.切换数据库

    use nice;
    
    • 1

    二、表操作

    首先,使用表操作,需要先选择数据库
    1.创建表

    create table biao
    (
    	格式为:表名+类型+空否+注释
    	dno integer not null comment '编号', 
    	dname varchar(20) not null comment '名称',
    	dlocation varchar(20) not null comment '所在地',
    	primary key (dno)
    )engine=innodb comment='部门表';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.查看所有表

    show tables;
    
    • 1

    3.查看表结构

    desc tb_dept;
    
    • 1

    4.删除表

    drop table if exists tb_dept;
    
    • 1

    5.修改表
    1)添加表头

    alter table tb_dept add column dest date comment '成立日期';
    
    • 1

    2)删除表头

    alter table tb_dept drop column dest;
    
    • 1

    3)更改属性

    alter table tb_dept modify column dlocation varchar(50) not null;
    
    alter table tb_dept change column dlocation dloc varchar(200) not null comment '所在地';
    
    • 1
    • 2
    • 3

    4)规定表值唯一

    alter table tb_dept add constraint uk_dept_dname unique (dname);
    功能去除
    alter table tb_dept drop constraint uk_dept_dname;
    
    • 1
    • 2
    • 3

    5)规定表值长度

    alter table tb_dept add constraint ck_dept_dloc check (char_length(dloc) >= 2);
    去除功能
    alter table tb_dept drop constraint ck_dept_dloc;
    
    • 1
    • 2
    • 3

    改表名

    alter table tb_dept rename to department;
    
    • 1

    三、数据类型认识

    1. 整数

    • tinyint —> 1个字节 —> -128 ~ 127
    • smallint —> 2个字节 —> -32768 ~ 32767
      integer / int —> 4个字节 —> -2^31 ~ 2^31-1
      ~ int unsigned —> 无符号整数 —> 0 ~ 2^32-1
      ~ int(4) zerofill —> 1 —> 0001
      bigint —> 8个字节 —> -2^63 ~ 2^63-1
      ~ bigint unsigned —> 无符号大整数 —> 0 ~ 2^64-1

    2. 小数

    • float
    • double
      decimal(M,N) —> M 有效数字的位数 —> 65
      N 小数点后面的有效数字的位数 —> 30

    3. 字符串

    • char
      varchar —> utf8mb4 —> 65535 / 4 —> 15327

    4. 日期和时间

    date
    time
    datetime

    • timestamp —> 记录现在距离1970年1月1日0时0分0秒过去了多少时间
      —> 底层就是一个整数(有溢出风险)—> 2038年问题

    Y2K —> 千年虫问题

    5. 其他

    • boolean —> tinyint —> 0 / 非0
    • enum —> MySQL方言
    • longtext —> 4G
    • longblob —> 4G

    注意:不要表的字段中放很大的二进制数据或文本数据(给文件路径即可)

  • 相关阅读:
    金蝶云星空套打设计平台导出套打模板和导入套打模板
    研发挑战的本原
    【1. MySQL锁机制】
    【数据结构】测试6 树和二叉树
    C代码创建多通道WAV音频文件
    解决使用`npm install`或`npm i`命令之后报`Unexpected token in JSON at position`错误的问题
    Java Websocket 01: 原生模式 Websocket 基础通信
    Python学习六
    代码解释【待解决】
    Nmap端口扫描技巧
  • 原文地址:https://blog.csdn.net/m0_58239511/article/details/127619755