
MariaDB的简单使用
发布日期:2025-04-12 01:37:46
浏览次数:7
分类:精选文章
本文共 2850 字,大约阅读时间需要 9 分钟。
MariaDB SQL语法说明
SQL语法分类
数据定义语言 (DDL)
- 创建:CREATE
- 删除:DROP
- 修改:ALTER
- 用于定义数据库、表、字段等结构
数据操作语言 (DML)
- 插入:INSERT
- 删除:DELETE
- 修改:UPDATE
- 查询:SELECT
- 用于对数据库中的数据进行操作
权限管理
- 权限新增:GRANT
- 权限删除:REVOKE
- 用于管理用户对数据库、表、字段等的访问权限
数据类型
字符型
定长字符型:CHAR(#) 不区分大小写
Binary类型:BINARY(#) 区分大小写
可选长度:可指定具体长度
变长字符型:VARCHAR(#) 不区分大小写
Binary类型:VARBINARY(#) 区分大小写
可选长度:可指定具体长度
文本存储
- TEXT:不区分大小写
- BLOB:区分大小写
内置类型
- 枚举类型:ENUM
- 集合类型:SET
- 日期时间类型:DATE、TIME、DATETIME、TIMESTAMP、YEAR
数值型
- 精确数值型
- tinyint:1字节
- smallint:2字节
- mediumint:3字节
- int:4字节
- bigint:8字节
- decimal:支持小数点
- 浮点型
- float:单精度
- double:双精度
日期时间型
- 日期:DATE
- 时间:TIME
- 日期时间:DATETIME
- 时间戳:TIMESTAMP
- 年份:YEAR(2)、YEAR(4)
修饰符
- 非空约束:NOT NULL
- 默认值:DEFAULT VALUE
- 主键:PRIMARY KEY
- 唯一键:UNIQUE KEY
- 无符号:UNSIGNED
- 自增字段:AUTO_INCREMENT
数据库操作语句
创建数据库
CREATE DATABASE [IF NOT EXISTS] 'DB_NAME';
- 示例:创建数据库
mydb
删除数据库
DROP DATABASE [IF EXISTS] 'DB_NAME';
- 示例:删除数据库
mydb
设置默认数据库
USE DB_NAME;
- 示例:切换到数据库
mydb
设置字符集
CHARACTER SET '字符集名称';
- 示例:设置字符集为
gb2312
查看字符集
SHOW CHARACTER SET;
设置排序规则
COLLATE '排序规则名称';
- 示例:设置排序规则为
big5_bin
查看排序规则
SHOW COLLATION;
获取命令帮助
HELP KEYWORD;
- 示例:获取
CREATE DATABASE
的帮助信息
表操作语句
创建表
CREATE TABLE [IF NOT EXISTS] [db_name.]tb_name (col1 datatype modifiers...)
- 示例:创建表
students
CREATE TABLE IF NOT EXISTS mydb.students (id int UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(100) NOT NULL, age int UNSIGNED)
删除表
DROP TABLE [IF EXISTS] tb_name;
- 示例:删除表
mytb1
修改表操作
- 添加字段:ALTER TABLE tb_name ADD col_name datatype
- 删除字段:ALTER TABLE tb_name DROP COLUMN col_name
- 修改字段:ALTER TABLE tb_name RENAME COLUMN old_col_name TO new_col_name
索引
- 创建索引:CREATE INDEX index_name ON tb_name (col_name...)
- 删除索引:DROP INDEX index_name ON tb_name
- 添加索引:ALTER TABLE tb_name ADD INDEX col_name
- 查看索引:SHOW INDEXES FROM db_name.tb_name
数据操作
插入数据
INSERT INTO tb_name [(col_name,...)] (值1, 值2, ...)
- 示例:插入数据到
students
表INSERT INTO students (sid, name) VALUES (3, '李'), (4, '王');
查询数据
SELECT col1, col2 FROM tb_name [WHERE 条件] [ORDER BY col_name [DESC]] [LIMIT m, n];
- 排序规则:
ORDER BY col_name
升序排序,ORDER BY col_name DESC
降序排序 - 限制显示:
LIMIT m, n
限制显示数量 - 字段别名:
col1 AS alias_name
删除数据
DELETE FROM tb_name [WHERE 条件] [ORDER BY col_name [DESC]] [LIMIT m, n];
- 示例:删除
students
表中 sid=3 的数据
更新数据
UPDATE tb_name SET col1 = new_val1, col2 = new_val2 [WHERE 条件];
- 示例:更新
students
表中 sid=4 的记录
用户帐号及权限管理
用户帐号格式
- 用户名@主机名
- 用户名:数据库用户名
- 主机名:允许连接的主机或地址
创建用户
CREATE USER 'USERNAME@HOST' [IDENTIFIED BY 'PASSWORD'];
- 示例:创建用户
user1@localhost
密码为redhat
删除用户
DROP USER 'USERNAME@HOST';
- 示例:删除用户
user1@localhost
授权用户
GRANT priv_type, ... ON [object_type] db_name.tb_name TO 'USERNAME@HOST' [IDENTIFIED BY 'PASSWORD'] [WITH GRANT OPTION];
- 示例:给
user1@localhost
在mydb
中的students
表授予查询和删除权限
查看用户权限
SHOW GRANTS FOR 'USERNAME@HOST';
- 示例:查看
user1@localhost
的权限
回收用户权限
REVOKE priv_type, ... ON db_name.tb_name FROM 'USERNAME@HOST';
- 示例:从
user1@localhost
中撤销mydb.students
表的删除权限
注意事项
- 删除操作不可逆,执行前请确认数据
- MariaDB 服务进程启动时会读取数据库中的授权信息
- 需要手动刷新授权信息:
FLUSH PRIVILEGES;
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年05月17日 15时18分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Long.valueOf 将字符串、integer类型转换为long类型
2025-04-11
longAdder源码解析
2025-04-11
LoRa关键参数(扩频因子,编码率,带宽)的设定及解释
2025-04-11
low版九九乘法表
2025-04-11
LPython:最新的高性能Python实现、速度极快且支持多后端
2025-04-11
LR11录制脚本时无法弹出IE的解决方法
2025-04-11
lua闭包
2025-04-11
Lua(1):Lua数据类型与变量以及运算
2025-04-11
Lua,Lua API,配置文件
2025-04-11
Lucence简单学习---1
2025-04-11
lucene4.7 正则查询(RegexpQuery)(八)
2025-04-11
lucene: 索引建立完后无法查看索引文件中的数据
2025-04-11
Lucene(8):Lucene底层储存结构
2025-04-11
luogu P1268 树的重量
2025-04-11
luogu P1462 通往奥格瑞玛的道路
2025-04-11
Luogu P2056 [ZJOI2007]捉迷藏
2025-04-11
Luogu P2326 AKN's PPAP【按位贪心】
2025-04-11
LUOGU P2575 高手过招
2025-04-11