Mysql
一、数据库的基本知识
1.注释
– 注释
/*多行注释
2.公共知识点
1.sql 不区分大小写
2._进行名字的分割(下划线),不适用驼峰命名法
3.语句sql结尾处写一个;来表示结束
4.一般关键词建议使用大写
5.所有名称不允许使用中文
3.数据库操作语句
1.-- 查看所有库 SHOW DATABASES;
2.-- 创建库 CREATE DATABASE 库名;
3.-- 删除库 drop DATABASE 库名;
4.-- 使用库 use 库名;
5.-- 查看表 SHOW TABLES;
6.-- 创建表
– CREATE TABLE 表明(
– 字段名 类型 属性,
– 字段名 类型 属性,
– 字段名 类型 属性
– …
– );
重:VARCHAR和char的区别?
CHAR(字符串长度) 固定长度的字符串
VARCHAR(字符串长度) 可变长度字符串
例:char(5) ‘abc’ ‘abc…’
VARCHAR(5) ‘abc’ ‘abc’ 效率不高,每次都要计算字符长度
DECIMAL(m,n) m总长度 n小数位数
CREATE TABLE student(
stu_name VARCHAR(10),
stu_age TINYINT,
stu_birthday datetime,
stu_id char(18),
stu_score DECIMAL(4,1)
);
7.查看表中的字段
– 第一种:desc 表名;
– 第二种:show creat table 表名;
DESC student
SHOW CREATE TABLE student
重:– 反引号 -- 取消关键性
-- DEFAULT NULL 该字段值可以为空
-- COLLATE=utf8mb4_0900_ai_ci 字符排序
-- CHARSET=utf8mb4 字符集
-- ENGINE=InnoDB 非常重要 存储引擎(存储的规则 本数据库用的是InnoDB)
CREATE TABLE
student(
stu_namevarchar(10) DEFAULT NULL,
stu_age tinyint DEFAULT NULL,
stu_birthday datetime DEFAULT NULL,
stu_id char(18) DEFAULT NULL,
stu_score` decimal(4,1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
8.-- 查看所有支持的存储引擎 show engines;
show engines;
重点:
INNODB: 支持事务,增删改优异,InnoDB写的处理效率差一些,并且会占用更多的磁盘空间以保存数据和索
引,MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。
**MyISAM:**不支持事务、行级锁、外键、优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为
主的应用,缺陷就是崩溃后无法安全恢复数据,.frm存储表结构、.MYD存储数据(MYData)、.MYI存储索引
(MYIndex)、只读应用或者以读为主的业务。
**MySQL8.0:**存储数据和索引、存储表结构合并在表名.ibd中