企业网站源码生成器,校园文创产品设计,株洲seo网络优化招聘网,山西做网站的公司目录
一#xff0c;MySQL的元数据库
1.1.什么是元数据库
1.2.有哪些元数据库
1.3.切换数据库
二#xff0c;账户管理
2.1.设置权限
2.2.授权用户
2.3.查看权限
2.4.撤销权限
三#xff0c;MySQL引擎
3.1什么是数据库引擎
3.2.查看数据引擎
3.3.MyISAM引擎
3.4…目录
一MySQL的元数据库
1.1.什么是元数据库
1.2.有哪些元数据库
1.3.切换数据库
二账户管理
2.1.设置权限
2.2.授权用户
2.3.查看权限
2.4.撤销权限
三MySQL引擎
3.1什么是数据库引擎
3.2.查看数据引擎
3.3.MyISAM引擎
3.4.memory
3.5.InnoDB
3.6.ARCHIVE
四数据库命令
4.1.创建
4.2.查看
4.3.删除
五建表与约束
5.1.建表
5.2.主键约束
5.3.非空约束
5.4.外键约束
5.5.唯一约束
5.6.默认值约束 一MySQL的元数据库
1.1.什么是元数据库
记录MySQL自身数据的数据库
1.2.有哪些元数据库
information_schema信息数据库保存mysql所维护的其他数据库信息例如数据库名数据库的表表栏的数据类型与访问权限等
mysql核心数据库主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息
performance_schema用于mysql的监控数据的存放
1.3.切换数据库
-- 示例
use mysql
二账户管理
2.1.设置权限
命令格式
grant privileges on databasename.tablename to usernamehost-- privileges-- 指定selectupdate等权限全部权限使用all-- databasename-- 指定数据库所有数据库请使用*-- tablename-- 指定数据表所有表请使用*-- username-- 需要赋权的用户名带的是Host表示赋权操作针对那些链接详情查看【host列说明】
使用示例
GRANT SELECT, UPDATE ON bookshop.t_book TO test%;-- 将bookshop数据库中的t_book表的selectupdate权限赋予test用户并且不对ip地址限制
grant all on *.* to dbalocalhost-- 一般用于赋予管理员最高权限谨慎使用
grant create view on testdb.* to developer192.168.0.%; -- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予创建视图的权限
grant show view on testdb.* to developer192.168.0.%-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予查看视图的权限
grant index on testdb.* to developer192.168.0.%;-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予创建索引的权限
grant create routine on testdb.* to developer192.168.0.%-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予操作存储过程与函数的权限
grant alter routine on testdb.* to developer192.168.0.%;-- 以192.168.0开头的账户名deveoper用户针对testdb数据库赋予创建删除存储过程与函数的权限
2.2.授权用户
命令格式
grant privileges on databasename.tablename to usernamehost with grant option
示例
grant select on testdb.* to dbalocalhost with grant option
2.3.查看权限
-- 查看当前用户自己权限
show grants
-- 查看其他 MySQL 用户权限
show grants for dbalocalhost;
2.4.撤销权限
-- 收回test用户对于bookshop库中t_book表的update权限ip不限
REVOKE UPDATE ON bookshop.t_book FROM test%;
命令格式
revoke privileges on databasename.tablename from usernamehost
示例
-- 收回test用户对于bookshop库中t_book表的update权限ip不限
REVOKE UPDATE ON bookshop.t_book FROM test%;
三MySQL引擎
3.1什么是数据库引擎
数据库存储引擎是数据库底层软件组织数据库管理系统DBMS使用数据引擎进行创建、查询、更新和删除数据 不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能使用不同的存储引擎还可以获得特定的功能
3.2.查看数据引擎
命令
show engines
Support字段说明DEFAULT的为默认的引擎为YES表示可以使用为NO表示不能使用
3.3.MyISAM引擎
MYISAM强调了快速读取操作使用场景 大量查询很少修改的场景存储限制256TG事务支持不支持事务 3.4.memory 所有的数据都保存在内存中一旦服务器重启所有Memory存储引擎的表数据会消失但是表结构会保存下来使用场景由于易失性可以用于存储在分析中产生的中间表存储限制取决与RAM事务支持不支持事务
3.5.InnoDB
后者修改快支持事务使用场景一般事务性均使用该引擎用途最广如果把握不准使用何种引擎就使用该引擎存储限制64TG事务支持支持事务
3.6.ARCHIVE
只允许插入和查询不允许修改和删除压缩存储节约空间可以实现高并发的插入支持在自增id上建立索引使用场景在日志和数据采集的时候可以使用特点Archive表比MyISAM表要小大约75%比支持事务处理的InnoDB表小大约83%不支持索引自增id列除外支持insertselect操作但不支持deleteupdate操作
四数据库命令
4.1.创建
命令格式
create database 数据库名
create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;-- 默认的数据库编码集utf8-- collate表示校验规则为utf8_general_ci-- 常用排序类型-- utf8_general_cs区分大小写-- utf8_genera_ci不区分大小写
4.2.查看
show databases
4.3.删除
drop database 数据库名
-- 危险操作先备份
五建表与约束
5.1.建表
命令格式
CREATE TABLE 表名称(列名称1 数据类型 NOT NULL,列名称2 数据类型,列名称3 数据类型,unique(列名称1[,列名称2,...,列名称N]))
示例
create table t_student
(sid int not null comment 学号,sname varchar(60) not null comment 姓名,sex tinyint not null default 1 comment 性别1男 2女,age tinyint not null comment 年龄,icard varchar(18) not null comment 身份证唯一约束,primary key (sid),unique key AK_Key_2 (icard)
) comment 学生信息表;
5.2.主键约束
-- PRIMARY KEY
-- 增加主键ALTER TABLE 表名 ADD PRIMARY KEY(主键名称)
-- 删除主键ALTER TABLE 表名 DROP PRIMARY KEY
5.3.非空约束 sid INT NOT NULL COMMENT 学号,
5.4.外键约束
DROP TABLE IF EXISTS t_score;
CREATE TABLE t_score
(id INT NOT NULL COMMENT 记录流水号,sid INT NOT NULL COMMENT 学号,cid INT NOT NULL COMMENT 课程ID,score FLOAT COMMENT 成绩,PRIMARY KEY (id),FOREIGN KEY (sid) REFERENCES t_student (sid) ON DELETE RESTRICT ON UPDATE RESTRICT,UNIQUE KEY AK_Key_2 (sid, cid)
);
说明 sid为本表的外键关联t_student表中的的sid主键ON DELETE RESTRICT ON UPDATE RESTRICT说明在本表有数据的情况下主表的关联键不能删除或更新。
增加外键
-- 增加外键
ALTER TABLE 表名 ADD FOREIGN KEY(外键名称) REFERENCES 主表名称(主键名称)
删除外键
-- 删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 约束名
5.5.唯一约束
-- UNIQUE KEY 约束名 (字段)
-- 创建唯一约束ALTER TABLE 表名 ADD UNIQUE(列名称1[,列名称2,..])create unique index UserNameIndex on t_user (username)
-- 删除唯一约束ALTER TABLE 表名 DROP INDEX 唯一约束缩影名称
5.6.默认值约束
default