MySQL的基本知识(mysql)

MySQL 是一种广泛使用的关系型数据库管理系统,支持多种操作语言来管理和操作数据库。本文将详细介绍 MySQL 中的各种操作语言及其常用命令。

1. 数据定义语言 (DDL)

DDL 用于定义和管理数据库对象,如数据库、表、索引等。

  • 创建数据库

    CREATE DATABASE test3 DEFAULT CHARACTER SET UTF8;

    这条命令创建了一个名为 test3 的数据库,并将其默认字符集设置为 UTF-8。

  • 查看数据库创建信息

    SHOW CREATE DATABASE test3;

    该命令显示数据库 test3 的创建信息,包括字符集等。

  • 修改数据库字符集

    ALTER DATABASE test2 DEFAULT CHARACTER SET UTF8;

    该命令将数据库 test2 的默认字符集修改为 UTF-8。

  • 创建表

    CREATE TABLE articles (
        title VARCHAR(100),
        content TEXT,
        publish_time DATETIME
    );

    该命令创建了一个名为 articles 的表,包含 titlecontent 和 publish_time 三个字段。

  • 修改表结构

    • 增加列

      ALTER TABLE articles ADD phone CHAR(11);

      该命令在 articles 表中增加了一个名为 phone 的列,类型为 CHAR(11)

    • 修改列

      ALTER TABLE articles CHANGE phone mobile CHAR(11);

      该命令将 articles 表中的 phone 列更名为 mobile,并保持类型为 CHAR(11)

    • 删除列

      ALTER TABLE articles DROP COLUMN mobile;

      该命令删除了 articles 表中的 mobile 列。

    • 修改列属性

      ALTER TABLE articles MODIFY title VARCHAR(100) NOT NULL;

      该命令将 articles 表中的 title 列修改为 VARCHAR(100) 类型,并设置为不允许为空。

    • 重命名表

      ALTER TABLE articles RENAME TO article;

      该命令将 articles 表重命名为 article

2. 数据操作语言 (DML)

DML 用于对数据库中的数据进行增删改操作。

  • 插入数据

    INSERT INTO articles (title, content, publish_time) VALUES ('MySQL Guide', 'This is a guide to MySQL.', NOW());

    该命令向 articles 表中插入一条新记录。

  • 更新数据

    UPDATE articles SET content = 'Updated content' WHERE title = 'MySQL Guide';

    该命令将 articles 表中 title 为 MySQL Guide 的记录的 content 字段更新为 Updated content

  • 删除数据

    DELETE FROM articles WHERE title = 'MySQL Guide';

    该命令删除 articles 表中 title 为 MySQL Guide 的记录。

3. 数据查询语言 (DQL)

DQL 用于从数据库中查询数据。

  • 查询数据

    SELECT * FROM articles;

    该命令查询 articles 表中的所有记录。

  • 条件查询

    SELECT title, publish_time FROM articles WHERE publish_time > '2023-01-01';

    该命令查询 articles 表中 publish_time 大于 2023-01-01 的记录,并返回 title 和 publish_time 字段。

4. 数据控制语言 (DCL)

DCL 用于控制数据库的访问权限。

  • 授权

    GRANT SELECT, INSERT ON test2.articles TO 'user'@'localhost';

    该命令授予用户 user 在 localhost 上对 test2 数据库中的 articles 表的 SELECT 和 INSERT 权限。

  • 撤销权限

    REVOKE INSERT ON test2.articles FROM 'user'@'localhost';

    该命令撤销用户 user 在 localhost 上对 test2 数据库中的 articles 表的 INSERT 权限。

5. 事务控制语言 (TCL)

TCL 用于管理数据库中的事务。

  • 开启事务

    START TRANSACTION;

    该命令开启一个新的事务。

  • 提交事务

    COMMIT;

    该命令提交当前事务,使所有更改生效。

  • 回滚事务

    ROLLBACK;

    该命令回滚当前事务,撤销所有未提交的更改。

6. 数据类型

正确选择数据类型可以减少存储空间、提高处理效率,并防止无效数据的插入。

  • 整数类型

    • TINYINT:1字节,范围 0-255 或 -128-127。

    • SMALLINT:2字节。

    • MEDIUMINT:3字节。

    • INT:4字节。

    • BIGINT:8字节。

  • 浮点类型

    • FLOAT:单精度浮点数,适合较小精度的数值。

    • DOUBLE:双精度浮点数,适合高精度的数值,如金额。

  • 字符串类型

    • CHAR(N):固定长度字符串,适合存储固定长度的数据,如手机号、身份证号。

    • VARCHAR(N):可变长度字符串,适合存储长度不固定的数据。

    • TEXT:用于存储大块文本。

  • 日期时间类型

    • DATE:仅存储日期。

    • TIME:仅存储时间。

    • DATETIME:存储日期和时间。

    • TIMESTAMP:存储时间戳。

7. 枚举和集合类型
  • 枚举类型 (ENUM)

    ENUM('男', '女')

    该类型用于存储一组预定义的值,如性别。

8. 其他操作
  • 查看表结构

    DESC articles;

    该命令显示 articles 表的结构信息,包括字段名、类型、是否允许为空等。

  • 查看表创建信息

    SHOW CREATE TABLE articles;

    该命令显示 articles 表的创建信息,包括字段定义、字符集等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值