本教程来自我的github nightttt7/MySQL-tutorial, 使用python脚本定时更新在此
本教程用于:
1. 入门学习
2. 快速查询
- 初稿完成于2018/3/13 by nightttt7 and lotus3333
todo
- 完善 游标
- 触发器
- 函数
- 引擎
- 数据库设置与安全
- 范式
- 更多的实战
目录
windows下的MySQL安装
下载MySQL:
下载地址 -> Generally Available (GA) Releases -> Microsoft Windows -> 32-bit/64-bit(选择对应的32位/64位 windows) -> ZIP Archive -> Download
解压MySQL:
解压到指定文件夹,并将其中的/bin路径添加至环境变量:
右键计算机 -> 高级系统设置 -> 环境变量 -> 系统变量 -> Path -> 在末尾添加完整的/bin路径(谨慎操作,不要删改已有值)
安装MySQL:
- 打开命令提示符
- 路径变为完整的/bin路径
- 输入以下语句
mysqld install mysqld --initialize --user=mysql --console # 会给出初始密码 net start mysql #启动服务
初始化MySQL
命令提示符中输入以下语句
mysql -uroot -p初始密码 #登录,使用刚才给出的初始密码 set password=password('新密码'); #修改密码 show variables like '%char%'; #查看默认编码 set global character_set_database='utf8'; # 如果只是临时更改默认编码为utf-8 exit #退出mysql
更改默认编码,在mysql目录下添加my.ini文件,文件内容如下:
[mysqld] character-set-server = utf8 [client] default-character-set = utf8
命令提示符中输入以下语句
net stop mysql #关闭服务 net start mysql #启动服务
==可以开始使用MySQL了==
linux下的MySQL安装
以CentOS7为例
下载MYSQL源安装包,在这个页面里获取下载地址
wget 下载地址
安装源
yum localinstall 安装包
安装SQL
yum install mysql-community-server
如需安装其他SQL组件
yum --disablerepo=\* --enablerepo='mysql*-community*' list available
yum install package-name
第一次启用:
# 启用
systemctl start mysqld
# 查看状态
systemctl status mysqld
# 设置开机启动
systemctl enable mysqld
systemctl daemon-reload
# 获取默认密码
grep 'temporary password' /var/log/mysqld.log
# 登陆
mysql -urood -p初始密码 #登录,使用刚才给出的初始密码
# 修改root密码(已经进入mysql的界面)
set password for 'root'@'localhost'='password';('新密码包含大小写数字')
- 配置默认编码为utf8,修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
文件路径
- 配置文件:/etc/my.cnf
- 日志文件:/var/log/mysqld.log
- 服务启动脚本:/usr/lib/systemd/system/mysqld.service
- datadir=/var/lib/mysql-用户名
- socket=/var/lib/mysql-用户名/mysql.sock
其他命令
# 启用
systemctl start mysqld
# 查看状态
systemctl status mysqld
#重启
systemctl restart mysqld
# 结束
systemctl stop mysqld
# 或者
service mysqld {start|stop|restart|status}
- SQL语句的关键词不区分大小写
- 字符串需要用”包围, 数字则不用
- 查看版本信息和时间
SELECT VERSION(), CURRENT_DATE;
增删查改
创建
- 创建数据库
CREATE DATABASE 数据库名称;
- 查看数据库
SHOW DATABASES;
使用指定数据库
USE 数据库名称;
创建表
CREATE TABLE 表名称 (
字段/列名 数据类型 一个或多个用空格分开的其他参数,
字段/列名 数据类型 一个或多个用空格分开的其他参数,
PRIMARY KEY (被设为主键的字段名)
);
- 创建表的其他参数
- NOT NULL 数据不能为NULL类型
- AUTO_INCREMENT 自动增加(整数)
3, DEFAULT 设定默认值
- 常见数据类型
- 附加UNSIGNED 无符号,从0开始
- INT 整数
- BOOL True/False或1/0,实际是整数的一种
- FLOAT 浮点数
- DATE YYYY-MM-DD
- TIME HH:MM:SS
- YEAR YYYY
- DATE TIME YYYY-MM-DD HH:MM:SS
- TIMESTAMP YYYYMMDD HHMMSS
- CHAR() 定长字符串
- VARCHAR() 变长字符串
- BINARY 二进制字符
- TEXT 长文本数据
- 查看表
SHOW TABLES;
- 表信息
DESCRIBE 表名称;
- 表详细信息
SHOW CREATE TABLE 表名称\G
- 复制出一个新表
CREATE TABLE 新表名 AS
SELECT * FROM 旧表名;
插入
- 插入新数据
INSERT INTO 表名称 ( 字段1, 字段2, 字段3) VALUES #(括号内容)可省略
( 值1, 值2, 值3 ),
( 值1, 值2, 值3 );
- 加入新字段/列
ALTER TABLE 表名称 ADD 字段 数据类型 AFTER/BEFORE 字段;
- 插入检索出的数据