• MySQL 基本语句


    数据库相关

    创建数据库

    create database sail;
    
    • 1

    创建名称为特殊字符或关键字的数据库

    create database `create`;
    
    • 1

    创建数据库(如果不存在)

    create database if not exists sail;
    
    • 1

    删除数据库

    drop database sail;
    
    • 1

    删除数据库(如果存在)

    drop database if exists sail;
    
    • 1

    查看所有数据库

    show databases;
    
    • 1

    切换数据库

    use test;
    
    • 1

    查看数据库创建语句

    show create database test;
    
    • 1

    表相关

    根据表注释查找表

    select table_name, table_comment from information_schema.tables where table_comment like '%表注释%';
    
    • 1

    查看所有表

    show tables;
    
    • 1

    显示表结构

    describe grade;
    
    • 1

    查看表创建语句

    show create table student;
    
    • 1

    查看表结构

    desc grade;
    
    • 1

    复制表结构

    create table 新表 like 旧表;
    
    • 1

    复制表数据

    insert into 新表 select * from 旧表;
    
    • 1

    事务相关

    设置事务自动提交

    关闭

    set autocommit = 0; 
    
    • 1

    开启(默认)

    set autocommit = 1;
    
    • 1

    事务处理流程

    关闭事务自动提交

    set autocommit = 0;
    
    • 1

    事务开启

    start transaction;
    
    • 1

    提交:持久化(成功)

    commit;
    
    • 1

    回滚:恢复到之前的样子(失败)

    rollback;
    
    • 1

    开启事务自动提交

    set autocommit = 1;
    
    • 1

    设置事务的保存点

    savepoint 保存点名;
    
    • 1

    回滚到保存点

    rollback to savepoint 保存点名;
    
    • 1

    撤销保存点

    release savepoint 保存点名;
    
    • 1

    索引相关

    主键索引(PRIMARY KEY

    唯一标识,主键不可以有重复值,只能有一列作为主键

    唯一索引(UNIQUE KEY)

    避免重复的列出现,唯一索引可以有重复值,多个列都可以标识为唯一索引

    常规索引(KEY/INDEX)

    默认的,index或者key关键字来设置

    全文索引(FULLTEXT)

    快速定位数据

    查看表的索引

    show index from student;
    
    • 1

    增加一个全文索引:索引名(列名)

    alter table student add fulltext key `name`(`name`);
    
    • 1

    创建一个普通索引

    create index id_表名_字段名 on 表名(字段名)

    create index id_student_name on student(`name`);
    
    • 1

    删除索引

    alter table student drop index id_student_name;
    drop index id_student_name on student;
    
    • 1
    • 2

    非全文索引

    explain select * from student;
    
    • 1

    全文索引

    explain select * from student where match(name) against('廖');
    
    • 1

    索引原则

    索引不是越多越好。

    不要对经常变动数据加索引。

    小数据量的表不需要加索引。

    索引一般加在常用来查询的字段上。

    索引的数据结构

    Btree:innoDB默认的数据结构

    用户相关

    创建用户

    create user liaohang identified by '123456';
    
    • 1

    删除用户

    drop user liaohang;
    
    • 1

    修改密码(当前用户)

    set password = password('123456');
    
    • 1

    修改密码(指定用户)

    set password for liaohang = password('123456');
    
    • 1

    重命名

    rename user liaohang to sail;
    
    • 1

    权限相关

    用户授权

    赋予所有库和表的所有权限:除了不能授权都可以

    grant all privileges on *.* to liaohang;
    
    • 1

    查询权限

    show grants for liaohang;
    show grants for root@localhost;
    
    • 1
    • 2

    撤销权限

    revoke all privileges on *.* from liaohang;
    
    • 1

    刷新权限

    flush privileges;
    
    • 1

    导入导出

    使用命令行导出

    mysql -h主机 -u用户名 -p密码 数据库 表 >物理磁盘路径

    mysqldump -hlocalhost -uroot -pAsailing648735 test student grade >D:1.sql
    
    • 1

    导入

    登录的情况下

    source 备份文件
    
    • 1

    未登录的情况下

    mysql -u用户名 -p密码 <备份文件

    mysql -uroot -pAsailing648735 test <D:1.sql
    
    • 1

    三大范式

    第一范式(1NF)

    原子性:保证每一列不可再分。

    第二范式(2NF)

    前提:满足第一范式。

    每张表只描述一件事情。

    第三范式(3NF)

    前提:满足第一范式和第二范式。

    确保数据库表的每一列都和主键直接相关,而不是间接相关。

  • 相关阅读:
    Leetcode101对称的二叉树
    在nodejs中实现双重身份验证机制
    error: failed to push some refs to ‘gitee.com:wavelet-aa/msb_-erp.git
    竞赛 基于视觉的身份证识别系统
    Acwing 839. 模拟堆
    光学仿真 | 仿真推动以人类视觉感知为本的汽车显示设计
    Windows11环境下安装Vmware Workstation 16的方法
    儿童玩具外贸出口认证知识干货
    为什么国内用户不选择商务智能(BI)工具?_光点科技
    arthas诊断windows服务模式运行的Java进程
  • 原文地址:https://blog.csdn.net/qq_37770674/article/details/125885530