• 1.mysql-DDL-数据库操作


    DDL-数据库操作定义语言
    DML-数据库操作语言
    DCL-数据库控制语言
    DQL-数据库查询语言

    DDL-数据库操作

    DDL-数据库操作- 查询

    查询所有数据

    SHOW DATABASES;
    

    查询当前数据库

    SELECT DATABASE();
    

    DDL-数据库操作- 创建

    CREATE DATABSE [IF NOT EXISTS] 数据库名 [ DEFAULT CHARTSET 字符集] [COLLATE
    排序规则] ;

    mysql> CREATE DATABASE IF NOT EXISTS test;
    Query OK, 1 row affected (0.01 sec)
    

    设置字符集编码,utf8是3个字节,utf8mb4是四个字节

    mysql> CREATE DATABASE   itheima default charset utf8mb4;
    Query OK, 1 row affected (0.02 sec)
    

    DDL-数据库操作-删除

    DROP DATABASE [IF EXISTS] 数据库名;

    mysql> DROP DATABASE IF EXISTS test;
    Query OK, 0 rows affected (0.01 sec)
    

    DDL -表操作-查询

    • 使用

    USE 数据库名;

    • 查询
    • 查询当前数据库所有表

    SHOW TABLES;

    • 查询表结构

    DESC 表名;

    • 查询指定表的建表语句

    SHOW CREATE TABLE 表名;

    DDL-表操作-创建

    CREATE TABLE 表名(
    字段1 字段1类型[ COMMENT 字段1注释],
    字段2 字段2类型[ COMMENT 字段2注释],
    字段n 字段n类型[ COMMENT 字段n注释] )[ COMMENT 表注释];
    注意:[…]为可选参数, 最后一个字段后面没有逗号

    create table it_user(
         id int comment 'id',
         name varchar(50) comment '姓名',
         age int comment '年龄',
         gender varchar(1)  comment '性别'
       ) comment '用户表';
    

    DDL-表操作-字段类型

    数据类型

    在这里插入图片描述
    score double(4,1) 4个字节,1位小数
    age TINYINT UNSIGNED 无符号范围
    字符串类型
    在这里插入图片描述
    日期类型
    在这里插入图片描述
    字符串eg
    在这里插入图片描述

    CREATE TABLE `emp` (
      `id` int(11) DEFAULT NULL COMMENT '编号',
      `workno` varchar(10) DEFAULT NULL COMMENT '工号',
      `name` varchar(10) DEFAULT NULL COMMENT '姓名',
      `gender` char(1) DEFAULT NULL COMMENT '性别',
      `age` tinyint(3) unsigned DEFAULT NULL COMMENT '年龄',
      `idcard` char(18) DEFAULT NULL COMMENT '身份证',
      `entrydate` date DEFAULT NULL COMMENT '入职时间'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='员工表'
    

    DDL-表操作-修改

    • 添加字段

    ALTER TABLE 表名 ADD 字段名 类型(长度) [comment 注释] [约束];

    • 修改数据类型

    ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

    • 修改字段名以及字段类型

    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

    • 删除字段

    ALTER TABLE 表名 DROP 字段名;

    • 修改表名

    ALTER TABLE 表名 RENAME TO 新表名;

    • 删除表

    DROP TABLE [IF EXISTS] 表名;

    • 删除表数据,不会删除表结构

    TRUNCATE TABLE 表名;

    • 操作
    mysql> alter table emp add nickname varchar(10) comment '昵称';
    Query OK, 0 rows affected (0.04 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> alter table emp modify nickname varchar(15) ;
    Query OK, 0 rows affected (0.01 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc emp;
    +-----------+---------------------+------+-----+---------+-------+
    | Field     | Type                | Null | Key | Default | Extra |
    +-----------+---------------------+------+-----+---------+-------+
    | id        | int(11)             | YES  |     | NULL    |       |
    | workno    | varchar(10)         | YES  |     | NULL    |       |
    | name      | varchar(10)         | YES  |     | NULL    |       |
    | gender    | char(1)             | YES  |     | NULL    |       |
    | age       | tinyint(3) unsigned | YES  |     | NULL    |       |
    | idcard    | char(18)            | YES  |     | NULL    |       |
    | entrydate | date                | YES  |     | NULL    |       |
    | nickname  | varchar(15)         | YES  |     | NULL    |       |
    +-----------+---------------------+------+-----+---------+-------+
    8 rows in set (0.00 sec)
    
    mysql> alter table emp change nickname username varchar(10);
    Query OK, 0 rows affected (0.08 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc emp;
    +-----------+---------------------+------+-----+---------+-------+
    | Field     | Type                | Null | Key | Default | Extra |
    +-----------+---------------------+------+-----+---------+-------+
    | id        | int(11)             | YES  |     | NULL    |       |
    | workno    | varchar(10)         | YES  |     | NULL    |       |
    | name      | varchar(10)         | YES  |     | NULL    |       |
    | gender    | char(1)             | YES  |     | NULL    |       |
    | age       | tinyint(3) unsigned | YES  |     | NULL    |       |
    | idcard    | char(18)            | YES  |     | NULL    |       |
    | entrydate | date                | YES  |     | NULL    |       |
    | username  | varchar(10)         | YES  |     | NULL    |       |
    +-----------+---------------------+------+-----+---------+-------+
    8 rows in set (0.00 sec)
    
    mysql> alter table emp drop username;
    Query OK, 0 rows affected (0.05 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc ep;
    ERROR 1146 (42S02): Table 'itcast.ep' doesn't exist
    mysql> desc emp;
    +-----------+---------------------+------+-----+---------+-------+
    | Field     | Type                | Null | Key | Default | Extra |
    +-----------+---------------------+------+-----+---------+-------+
    | id        | int(11)             | YES  |     | NULL    |       |
    | workno    | varchar(10)         | YES  |     | NULL    |       |
    | name      | varchar(10)         | YES  |     | NULL    |       |
    | gender    | char(1)             | YES  |     | NULL    |       |
    | age       | tinyint(3) unsigned | YES  |     | NULL    |       |
    | idcard    | char(18)            | YES  |     | NULL    |       |
    | entrydate | date                | YES  |     | NULL    |       |
    +-----------+---------------------+------+-----+---------+-------+
    7 rows in set (0.00 sec)
    
    mysql> alter table emp rename to employee;
    Query OK, 0 rows affected (0.02 sec)
    
    mysql>
    

    总结

    • DDL-数据库操作

    SHOW DATABASES;
    CREATE DATABASE 数据库名;
    USE 数据库名;
    SELECT DATABASE();
    DROP DATABASE 数据库名;

    • DDL-表操作

    SHOW TABLES;
    CREATE TABLE 表名(字段 字段类型,字段 字段类型);
    DESC 表名;
    SHOW CREATE TABLE 表名;
    ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO …;
    DROP TABLE 表名;

  • 相关阅读:
    混沌系统在图像加密中的应用(时滞混沌系统)
    高级运维学习(九)块存储、文件系统存储和对象存储的实现
    Spring Cloud Gateway实现限流
    Java 第三阶段增强分析需求,代码实现能力【JDBC】
    【单片机毕业设计】【mcuclub-jk-006】基于单片机的医院输液的设计
    技术实践干货 | 初探大规模 GBDT 训练
    【JAVASE】java开发人员最常犯的10中错误
    力扣爆刷第127天之动态规划五连刷(整数拆分、一和零、背包)
    md笔记上传到CSDN---Typora+SMMS+PicGo
    CentOS已安装宝塔的情况下手动安装phpMyAdmin
  • 原文地址:https://blog.csdn.net/qiao2458/article/details/140986133