mariadb(mysql)
编译安装--tar.gz安装--mariadb程序的组成--数据类型--修饰符--sql语句--表--索引
mariadb编译安装
mariadb特性
为data目录添加一个独立的存储
开机自动挂载
初始化data目录
修改配置文件
启动服务
mysql密码安全初始化
sql语句
获取创建库帮助
获取创建表帮助
获取当前数据库字符集
获取所有排序规则
获取当前数据库所支持的搜索引擎
查询库
查询表
(查询表)查询创建表时使用的命令
(查询表)查看表状态
查询表结构
查询表索引
DATABASE创建数据库
TABLE创建表
(TABLE创建表)PRIMARYKEY创建主键
(ALTER改变表字段)添加字段
(ALTER改变表字段)修改字段
(ALTER改变表字段)删除字段
(ALTER修改表索引)添加索引
(ALTER修改表索引)删除索引
(ALTER改变表索引)添加唯一键
[INSERT INTO插入数据](#INSERT INTO插入数据)
DELETE删除
SELECT查询
SELECT查询WHERE查询条件
用户账号及权限管理
基础概念
创建用户账号
账号密码连接数据库
删除用户
用户权限授权
查看指定用户获得的授权
回收用户权限
重读授权表
mariadb特性
编译安装
mariadb程序的组成
sql语句
表
数据类型
修饰符
UNSIGNED 无字符
AUTO_INCREMENT 自增长
PRIMARY KEY 主键
UNIQUE KEY 唯一键
索引
cnetos7安装
为data目录添加一个独立的存储
开机自动挂载
初始化data目录
修改配置文件
启动服务
mysql密码安全初始化
默认密码为空
使用mysql自带的工具,密码安全初始化
mysql密码连接
获取创建库帮助
获取创建数据库的帮助
获取创建表帮助
获取当前数据库字符集
获取当前数据库所支持的所有字符集
获取所有排序规则
获取所有排序规则
获取当前数据库所支持的搜索引擎
获取当前数据库所支持的搜索引擎
DATABASE创建数据库
CREATE 创建
DATABASE 数据库
IF NOT EXISTS 如果不存在就创建
TABLE创建表
use 切换库
CREATE 创建
TABLE 表
tbl1 表名
第一字段(id int NOT NULL)
字段名id,类型int 不能为空NOT NULL
第二字段(name VARCHAR(100) NOT NULL)
字段名name,类型VARCHAR不能超过100 不能为空NOT NULL
第三字段(age tinyint)
字段名age,类型tinyint
查询库
查询当前数据库中所有的库
查询表
查询当前库中所有的表
(查询表)查询创建表时使用的命令
(查询表)查看表状态
查询表状态,两种显示方式
查询表结构
field(字段名),type(类型),null(是否为空),key(是否为键),default(默认值)
查询表索引
(TABLE创建表)PRIMARYKEY创建主键
PRIMARY KEY 创建主键
UNSIGNED 无符号
NOT NULL 不能为空
两种方式创建主键,第一种为id为主键,第二种为id和名字联合为主键
(ALTER改变表字段)添加字段
ALTER 修改
TABLE 表
students 表名
ADD 添加字段
gender 字段(性别)
ENUM(\'m\',\'f\') 媒举类型,限定范围
(ALTER改变表字段)修改字段
ALTER 修改
TABLE 表
students 表名
CHANGE 修改
id 原来的字段
sid 需要修改的字段
int 类型 UNSIGNED 无字符 NOT NULL 不能为空
(ALTER改变表字段)删除字段
ALTER 修改
TABLE 表
students 表名
drop 删除
sid 不需要的字段
(ALTER修改表索引)添加索引
ALTER 修改
TABLE 表
students 表名
ADD 添加
INDEX(age) 索引(在那个字段上索引)
(ALTER修改表索引)删除索引
ALTER 修改
TABLE 表
students 表名
(ALTER改变表索引)添加唯一键
描述表结构
DESC 描述
students 表名
INSERT INTO插入数据
有两种方法
INSERT INTO 插入数据操作
students 在这个表中
VAlUES 插入数据
SELECT查询
SELECT 查询
* 所有字段
FROM 来自哪里
students 表名,来自这张表
SELECT 查询
* 所有字段
FROM 来自哪里
students 表名,来自这张表
WHERE 指明条件
id<3 条件时id小于3的
SELECT 查询
* 所有字段
FROM 来自哪里
students 表名,来自这张表
WHERE 指明条件
gender=\'m\' 字段等于m的,字符需要引号,引起来
IS NULL 表示为空
IS NOT NULL 表示不空
SELECT 查询
* 所有字段
FROM 来自哪里
students 表名,来自这张表
ORDER BY 排序查询
name 字段
DESC 降序查询
LIMIT 指定显示多少列
LIMIT 指定显示多少列
SELECT查询WHERE查询条件
条件逻辑操作
LIKE模糊匹配
[as 别名](#as 别名)
条件逻辑操作
SELECT 查询
* 所有字段
FROM 来自哪里
students 表名,来自这张表
WHERE 指明条件
sid>=2 and sid<=4 条件时sid大于等于2并且sid小于等于4
BETWEEN ... AND ... 表示字段在两个值之间
LIKE模糊匹配
SELECT 查询
* 所有字段
FROM 来自哪里
students 表名,来自这张表
WHERE 指明条件
name 字段
LIKE \'Z%\' 模糊匹配,Z开头的任意字符
RLIKE \'Z%\' 正则表达式模糊匹配
as 别名
DELETE删除
如果没有条件,直接操作表,会清空表
UPDATE更新表中数据
基础概念
创建用户账号
CREATE 创建
USER 用户
% 百分号表示所有
IDENTIFIED BY 指定密码
账号密码连接数据库
mysql 关键字
-u 指明用户
-h 指明主机地址
-p 指指明密码
注意:如果用户没有授权,是看不到没有授权的表的
删除用户
直接指定用户就可以了
用户权限授权
有用户会修改权限,如果无用户会创建用户,并指定权限
GRANT 授权
SELECT,DELETE 只授权查询和删除这两个权限
ON 从哪里授权
testdb.* 表示testdb这个库下的*表示所有表
TO 哪个用户
\'testuser\'@\'%\' 表示testuser这个用户,从所有主机
IDENTIFIED BY 指定密码
没有创建表的授权,所以不能创建表
查看指定用户获得的授权
SHOW GRANTS FOR 显示用户授权
CURRENT_USER() 表示当前用户,这是函数所以有花括号
回收用户权限
REVOKE 表示回收
DELETE 删除权限
ON 从那个表
FROM 从哪个用户
也可以理解为,从这个用户的这张表上,回收删除命令,需要管理员操作,否则没权限
重读授权表
直接修改授权表,比如密码,需要重读授权表