• 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)

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

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

  • 相关阅读:
    如何使用libswscale库将YUV420P格式的图像序列转换为RGB24格式输出?
    SQL SERVER中XML查询:FOR XML指定RAW
    Spring(二)Ioc 和 DI 入门案例
    “华为杯”研究生数学建模竞赛2019年-【华为杯】D题:汽车行驶工况构建(附获奖论文和MATLAB代码实现)
    idea项目一直在build
    阿里云“玩转云上 StarRocks3.0 湖仓分析”,开启数据分析新范式
    有哪些常用的前端构建工具?
    git clone拉取代码错误解决方法
    day-56 代码随想录算法训练营(19)动态规划 part 16
    从0到1搭建Halo博客系统教程
  • 原文地址:https://blog.csdn.net/qq_37770674/article/details/125885530