MYSQL入门(二)DDL数据定义与操作

2024年 3月 23日 91.7k 0

这一篇文章介绍MYSQL的DDL数据定义语言

1.DDL数据定义语言

1.1 库表和字段的关系

DDL操作时对于库, 表和字段的操作--- 库表和字段的关系如下
image.png

  • mysql服务相当于excel软件
  • 每一个mysql数据库相当于一个Excel文件
  • 每一个文件中的多个sheet详单相当于数据表
  • 每个表中的列索引相当于字段

1.2 DDL数据库操作

1.数据库创建

CREATE DATABASE 数据库名称;

创建数据库时,该数据库名称已存在会报错,为了避免报错,我们在创建数据库时增加 IF NOT EXISTS判断表是否存在

CREATE DATABASE IF NOT EXISTS test_db;

一般我们创建数据库时会增加数据集,因为不书写数据集会导致无法存储中文

CREATE DATABASE 数据库名 CHARSET = utf8;

CREATE DATABASE 数据库名 CHARACTER SET 'utf8';

2.查看当前服务中所有的数据库名称

SHOW DATABASES;

3.使用数据库

USE 数据库名称;

4.查看当前正在使用的数据库

SELECT DATABASE();

5.删除数据库

DROP DATABASE 数据库名称

删除数据库时,删除的数据库名称不存在会报错,可以使用IF EXISTS判断

DROP DATABASES IF EXISTS 数据库名称;

6.查看数据库的创建语句,一般可以用来查看数据库的字符集、默认外键名等

SHOW CREATE DATABASE 数据库名称;

1.3 DDL数据表操作

数据表不能脱离数据库而单独存在,在创建和使用数据表之前必须先使用数据库

1.创建数据表

create table 表名 ( 字段1 数据类型 [约束], 字段2 数据类型 [约束], 字段3 ......
)

创建的数据表名称不能存在,同样可以使用 IF NOT EXISTS判断

  • 查看当前数据库中所有的数据表名称
  • SHOW TABLES;

  • 查询表中字段的详细信息
  • DESC 表名

    DESCRIBE 表名

    4.删除数据表

    DROP TABLE 数据表名;

    同样可以使用IF EXISTS来判断是否存在,这个关键字就是判断某个对象存不存在的,判断为是就执行,否则就什么都不做

    5.如果我们在一个数据库中想操作另一个数据库,可以使用数据库名.表名的形式
    6.修改表名

    ALTER TABLE 要修改的旧表名 RENAME TO 新表名;

    1.4 DDL数据表字段操作

    字段是依托于数据表存在的,不能单独存在

    1.新建字段

    ALTER TABLE 表名 ADD 字段名称 字段类型 [约束];

    2.修改字段

    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段类型 [约束]

    如果不需要修改字段名,可以把旧名称和新名称写一样,也可以使用MODIFY关键字

    ALTER TABLE 表名 MODIFY 字段名 字段类型 [约束]

    3.删除字段

    ALTER TABLE 表名 DROP 字段名;

    所有DDL语言的删除操作都用DROP,所有DML语言的删除都用DELETE

    1.5 comment注释

    comment 就是对于数据库中的数据表或数据字段进行注释的,方便后续使用IDE工具时查询数据内容,创建表时加上就行,如

    CREATE TABLE person
    (
        id     INT COMMENT '身份证号',  
        name   VARCHAR(30) COMMENT '姓名',
        gender VARCHAR(30) COMMENT '性别'
    ) COMMENT '人口表';
    

    2. DML数据操作语句

    2.1 数据插入语句

    DML语言: 数据操作语言, 对于数据库进行增 删 改的操作,关键字INSERT

    -- 1.一次插入一条数据,不指定字段
    
    INSERT INTO 表名 VALUE(字段值1,字段值2,字段值3...);
    
    -- 2.一次插入多条数据,不指定字段
    
    INSERT INTO 表名 VALUE(字段值1,字段值2,字段值3...),(字段值1,字段值2,字段值3),(...),...;
    
    -- 3.一次插入一条数据,指定字段
    
    INSERT INTO 表名(字段1,字段2...) VALUE(字段值1, 字段值2...);
    
    -- 4.一次插入多条数据,指定字段
    
    INSERT INTO 表名(字段1, 字段2,...) VALUES(字段值1, 字段值2,...), (字段值1, 字段值2,...),...;
    
    

    注意事项:

  • 插入数据时,字段值数量要与字段数量相匹配
  • VALUES既可以插入多条数据,也可以插入一条数据,所以我们一般都用VALUES即可
  • 插入数据时,数据值和字段顺序必须匹配,假如我们指定了字段,要按指定的顺序来插入
  • 2.2 数据的修改和删除

    -- 1.修改数据记录 -使用UPDATE关键字
    
    UPDATE 表名 SET 字段名 = 值 [WHERE筛选条件];
    
    -- 2.删除数据记录 -DELETE关键字
    
    DELETE FROM 表名 WHERE [筛选条件];
    
    

    注意事项:

  • 修改数据记录时,被修改的字段的值必须与原数据的数据类型一致
  • 修改时一般都有有where筛选条件,不然会对所有数据进行修改
  • DELETE删除的是整条字段,如果只删除某一个字段的某个值,使用UPDATE将其改为空即可
  • 怎样删除所有数据记录?给一个恒成立的条件即可,如1=1,或者也可以使用TRUNCATE TABLE 表名
  • 相关文章

    Oracle如何使用授予和撤销权限的语法和示例
    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
    社区版oceanbase安装
    Oracle 导出CSV工具-sqluldr2
    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

    发布评论