一、MySQL相关操作:
1.配置文件 my.conf
2.登陆数据库
2.1开启服务 cmd中net start MySQL
或者在我的电脑->右键->管理->服务和应用程序
2.2登陆 在cmd中
2.3得到版本号
3.常用sql语句
SELECT USER();
SELECT VERSION();
SELECT NOW();
SHOW DATABASES; 查看当前服务器下的全部数据库
USE db_name; 打开指定的数据库
SELECT DATABASE(); 得到当前打开的数据库
SHOW CREATE DATABASE db_name; 查看指定数据库的详细信息
ALTER DATABASE db_name [DEFAULT] CHARACTER SET utf-8 修改指定数据库的编码方式
DROP DATABASE db_name; 删除指定的数据库
SHOW warnings;
4.sql语句的语法规范
常用的sql关键字要大写 库名表名字段名要小写 sql语句支持折行操作
5.SQL语言
DDL数据库定义语言 (定义数据库表,索引,触发器)
DML数据库操作语言(增删改)
DQL数据库查询语言(查)
DCL数据库控制语言(控制用户的权限)
二、数据表的相关操作
-1.MySQL中的数据类型
数值型
整数型 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、BOOLEAN,BOOL
浮点型 FLOAT[(M,D)]、DOUBLE[(M,D)]、DECIMAL[(M,D)]
注:DECIAML和double一样,只是内部以字符串存储 M是总长度 D是小数点位数
字符串
CHAR、VARCHAR、TINYTEXT、TEXT、MEDYIUMTEXT、LONGTEXT、ENUM、SET
日期时间类型 TIME、DATE、DATETIME、TIMESTAMP、YEAR
0.完整性约束
unsigned 无符号
zerofill 零填充 当数据的显示长度不够的时候使用前补0的效果填充到指定长度,字段会自动添加unsigned
primary key 主键 一个表只能有一个主键 不为空 且值不能重复
unique key 唯一 一个表中可以多个字段是唯一 不能重复但是null除外
not null 不能为null
default 默认值 如果没有值就取默认值
auto_incream 自增长
foreign key 外键
1.创建数据表
CREATE TABLE [IF NOT EXITS] table_name(
字段名称 字段类型 [完整性约束条件],
字段名称 字段类型 [完整性约束条件],
...
)ENGINE=存储引擎 CHARSET=编码方式;
2.查看数据库下的所有表
SHOW TABLES;
3. 查看指定数据表的详细信息
SHOW CREATE TABLE table_name;
4.查看表结构
DESC table_name;
SHOW COLUMNS from table_name;
5.删除表
DROP TABLE table_name;
6.数据库查询语言,数据库操作语言
INSERT [INTO] table_name(id,username,...) VALUES (value1,value2);
三、MYSQL的存储引擎
MyISAM存储引擎
1.会在磁盘文件中产生三个文件
.frm 表结构文件
.MYD 数据文件
.MYI 索引文件
2.可以在创建表的时候指定数据文件和索引文件的存储位置,只有MyISAM支持
3.MyISAM单表最大支持的数据量是2的64方条记录
4.每个表最多可以建立64个索引
5.如果是复合索引,每个复合索引最多包含16列,索引最大长度是1000B
6.MyISAM引擎的存储格式
定长(FIXED静态) 是指字段中不包括VARCHAR/TEXT/BLOB
动态(DYNAMIC) 是值字段包含了VARCHAR/TEXT/BLOB
压缩(COMPRESSED) myisampack创建
InnoDB存储引擎
1.设计遵循ACID模型,支持事务 ,具有从服务奔溃中恢复的能力,能够最大限度的保护用户的数据
2.支持行级锁,可以提升多用户并发时的读写功能
3.支持外键
4.InnoDB拥有独立的缓冲池,常用的数据和索引都在缓冲中
5.对于CRUD操作,InnoDB会使用change buffering的机制来自动优化,还可以提供一致性的读,并且能够缓存变更的数据,减少磁盘I/O,提高性能
6.会在磁盘上生成两个文件
.frm表结构文件
.jbd数据和索引存储表空间中