一.MySQL基础
- MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司;
- MySQL是一个开源的关系型数据管理系统;
- MySQL分为社区版和企业版。
二.MySQL目录结构
- bin目录,存储可执行文件;
- data目录,存储数据文件;
- docs,文档;
- include 目录,存储包含的文件;
- lib目录,存储库文件;
- share,错误消息和字符集文件。
MAC下MySQL的目录结构路径为:/usr/local/mysql
三.启动终止MySQL服务命令
- 启动:net start mysql
- 终止:net stop mysql
四.命令行登录MySQL
mysql -uroot -p -h127.0.0.1
参数 | 描述 |
-D,--database=name | 打开指定数据库 |
--delimiter=name | 指定分割符 |
-h,--host=name | 服务器名称 |
-p,--password[=name] | 密码 |
-P,--port=# | 端口号 |
--prompt=name | 设置提示符 |
-u,--user=name | 用户名 |
-V,--version | 输出版本信息并且退出 |
五.MySQL退出
- exit;
- quit;
- \q;
六.修改MySQL提示符
1.连接客户端时通过参数指定:mysql -uroot -p --prompt 提示符
2.连接上客户端后,通过prompt指定:prompt提示符
MySQL提示符:
- \D 完整的日期
- \d 当前数据库
- \h 服务器名称
- \u 当前用户
七.MySQL常用命令
- 显示当前服务器版本: SELECT VERSION();
- 显示当前日期时间:SELECT NOW();
- 显示当前用户:SELECT USER();
八.MySQL语句的规范
- 关键字与函数名称全部大写;
- 数据库名称,表名称,字段名称全部小写;
- SQL语句必须以分号结尾。
九.数据库操作
1.创建数据库
语法:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
2.展示现有数据库
语法:SHOW DATABASES;
MySQL会有四个默认的数据库:information_schema,mysql,sys和performance_schema
# 创建一个已经存在的数据库t1,加IF NOT EXISTS可以避免数据库报错(error),只会报warning。
CREATE DATABASE IF NOT EXISTS t1;
(1)展示WARNING
语法:SHOW WARNINGS;
(2)展示编码方式(没有设置编码方式,只使用MySQL默认的编码方式)
语法:SHOW CREATE DATABASE t1;
(3)带编码方式创建数据库:
# 创建数据库t2,编码方式为gbk
CREATE DATABASE IF NOT EXISTS t2 CHARACTER SET gbk;
3.修改数据库
语法:ALTER { DATABASE | SCHEMA } [db_name] [DEFAULT] CHARACTER SET [=] charset_name
4.删除数据库
语法:DROP { DATABASE | SCHEMA } [IF EXISTS] db_name;
# 删除数据库
DROP DATABASE t2;
十.数据类型
数据类型是指列,存储过程参数,表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
1.整型
数据类型 | 存储范围 | 字节 |
TINYINT | 有符号值:-128到127(-2^7到2^7-1) 无符号值:0到255(0到2^8-1) |
1 |
SMALLINT | 有符号值:-32768到32767(-2^15到2^15-1) 无符号值:0到65535(0到2^16-1) |
2 |
MEDIUMINT | 有符号值:-8388608到8388607(-2^23到2^23-1) 无符号值:0到16777215(0到2^24-1) |
3 |
INT | 有符号值:-2147483648到2147483647(-2^31到2^31-1) 无符号值:0到4294967295(0到2^31-1) |
4 |
BIGINT | 有符号值:-9223372036854775808到9223372036854775807(-2^63到2^63-1) 无符号值:0到18446744073709551615(0到2^64-1) |
8 |
2.浮点型
3.日期时间型
数据类型 | 存储需求 |
---|---|
YEAR | 1 |
TIME | 3 |
DATE | 3 |
DATETIME | 8 |
TIMESTAMP | 4 |
4.字符型
数据类型 | 存储需求 |
---|---|
CHAR(M) | M个字节,0<=M<=25 |
VACHAR(M) | L+1个字节,其中L<=M且0<=M<=65535 |
TINYTEXT | L+1个字节,其中L<=2^8 |
TEXT | L+2个字节,其中L<=2^16 |
MEDIUMTEXT | L+3个字节,其中L<=2^24 |
LONGTEXT | L+4个字节,其中L<=2^32 |
ENUM('value1','value2',...) | 1或2个字节,取决于枚举值的个数(最多65535个值)。 |
SET('value1','value2',...) | 1,2,3,4或者8个字节,取决于set成员的数目(最多64个成员)。 |