mysql的账号管理、四大引擎、库与表的管理以及常见约束
一、数据库账号管理
1.数据库账号管理的作用
企业里常见的几种管理
2.创建账号以及更改密码
将所有的权限赋值给本地叫‘’张三‘’的用户设置密码为‘’张三123‘’
CRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@"%" IDENTIFIED BY 'zhangsan123' WITHGRANTOPTION
创建了一个Zara账号,这个账号只能看到girls的数据库,并且这个数据库中的表操作权限只有查询和修改
GRANT SELECT,UPDATE ON girls.* TO 'zara'@'localhost' IDENTIFIED BY 'zara123';
二、四大引擎
有四个引擎,但是我们用到的只有两个引擎,在开发或面试里也是用到两个,就是InnoDB存储引擎跟MyISAM存储引擎。
不同的存储引擎都有各自的特点,以适应不同的需求,如下表所示:
256TB是计算机硬盘的限制,指的是计算机有256TB就可以存储这么多的东西
三、库和表的管理
1.库的管理
库的创建
CREATE DATABASE IF NOT EXISTS 库名;
库的修改(一般不用)
RENAME DATABASE 库名 TO 新库名;
库的删除
DROP DATABASE IF EXISTS books;
2.表的管理
表的创建
create table 表名( 列名 列的类型【(长度)约束】, 列名 列的类型【(长度)约束】 )
表的修改
修改列名
ALTER TABLE 表名 CHANGE COLUMN publishdate 列名 DATETIME;
修改列的类型或约束
ALTER TABLE 表名 MODIFY COLUMN 列名 TIMESTAMP;
添加新列
ALTER TABLE 列名 ADD COLUMN 表名 DOUBLE;
删除列
ALTER TABLE 列名 DROP COLUMN 表名;
修改表名
ALTER TABLE 被修改的表名 ENAME TO 要修改的表名;
表的删除
查询所有的表
SHOW TABLES;
通用的写法
DROP DATABASE IF EXISIS 原库名;
CREATE DATABASE 新库名;
DROP TABLE IF EXISTS 原表名;
CREATE TABLE 表名();
表的复制
仅仅复制表结构
CREATE TABLE copy LIKE 表名;
复制表结构跟数据
CREATE TABLE cop2;
只复制部分数据
CREATE TABLE cop3
SELECT id,au_name
FROM autor
WHERE nation='中国';
只复制某些字段
CREATE TABLE cop4
SELECT id,au_name
FROM autor;
四、常见约束
常见约束的含义
它们是一种表中的数据,为了保证表中的数据的准确性跟可靠性
六大约束
在创建表或者修改表的时候添加约束
约束的添加分类
列级约束
有五种约束在语法上都支持,只有外键没有效果
表级约束
除了非空、默认,其他都支持
主键与唯一的对比
约束总结以及sql语句
标识列
标识列又称为自增长列,它的含义是可以不用手动的插入值,系统提供默认的序列值。
特点
1、标识列必须和主键不一定搭配,但要求是一个key
2、一个表最多可以有1个标识列
3、标识列的类型只能是数值型
4、标识列可以通过 SET auto_increment_increment=3;设置步长
可以通过手动插入值,设置起始值