文章目录
一、MySQL基础
2.1 含义
(1)由瑞典MySQL AB公司开发,目前属于Oracle公司。
(2)是一个开源的关系型数据库管理系统。
(3)分为社区版和企业版。
2.2 MySQL目录结构
(1)bin目录:存储可执行文件。
(2)data目录: 存储数据文件。
(3)docs目录: 存储文档文件。
(4)include目录: 存储包含的头文件。
(5)lib目录: 存储库文件。
(6)share目录:错误消息或字符集文件。
二、安装MySQL
2.1 安装方式
MSI安装(Windows Installer)
ZIP安装
2.2 安装MySQL
(1)双击MSI安装文件。
(2)最终用户许可协议。同意
(3)选择安装类型:
Typical(典型安装,初学者)Custom(自定义安装)Complete(完全安装)
(4)准备安装。
(5)安装进度。
(6)MySQL产品广告。
(7)MySQL产品广告。
(8)询问是否进行配置操作。
三、配置MySQL
3.1 步骤
(1)运行MySQL配置向导文件(MySQLInstanceConfig.exe)。bin目录中。
(2)配置向导欢迎界面。
(3)选择配置类型
Detailed Configuration(详细配置)
Standard Configuration(标准配置,初学者)
(4)是否安装为Windows服务。
三个复选框可全部勾选。
(5)设置root用户的密码
自己设置,或者默认。
(6)准备执行设置选项。
(7)配置完成。
3.2 配置选项——修改my.ini文档
3.2.1 修改编码方式
[mysql]
default-character-set=utf8
[mysql]
character-set-server=utf8
3.2.2 修改默认存储引擎
[mysql]
default-storage-engine=INNODB
四、使用MySQL
4.1 打开/关闭服务器
(1)图形界面——计算机管理
(2)命令提示符——cmd
启动命令:
net start mysql
停止命令:
net stop mysql
注意:所有Windows计算机管理中的应用程序都可通过以上命令启动/关闭。
4.2 登录服务器
参数 | 含义 |
---|---|
-D,–database=name | 打开指定数据库 |
–delimiter =name | 指定分割符 |
-h,–host=name | 服务器名称 |
-p,–password[=name] | 密码 |
-P,–port=# | 端口号 |
–prompt=name | 设置提示符 |
-u,–user=name | 用户名 |
-V,–version | 输出版本信息并且退出。 |
MySQL登录命令:
mysql uroot -p -P3306 -h127.0.0.1
MySQL退出命令:
mysql > exit
mysql > quit
mysql > \q
4.3 修改MySQL提示符
(1)连接客户端时,通过参数指定
shell>mysql -uroot -proot --prompt
(2)连接上客户端后,通过prompt命令修改
mysql>prompt
清停命令:
cls
参数 | 含义 |
---|---|
\D | 完整的日期 |
\d | 当前数据库 |
\h | 服务器名称 |
\u | 当前用户 |
4.4 MySQL常用命令
需求 | 命令 |
---|---|
显示当前服务器版本 | SELECT VERSION(); |
显示当前日期时间 | SELECT NOW(); |
显示当前用户 | SELECT USER(); |
4.5 MySQL语句的规范
(1)关键字与函数名称全部大写。
(2)标识符采用驼峰式写法。
(3)SQL语句必须以“;”分号结尾。
五、操作数据库
5.1 查看
5.1.1 数据库个数——单服务器
查看当前服务器下的数据库列表
语法:SHOW {DATABASE | SCHEMAS} [LIKE ‘pattern’ | WHERE expr]
SHOW DATABASE;
5.1.2 表个数——单数据库
查看某个数据库中的表数量。
语法:SHOW TABLES[FROM db_name] [LIKE ‘pattern’ | WHERE expr];
-- 查看某个数据库中的表
SHOW TABLES FROM db_t1;
-- 查看服务器中的所有表
SHOW TABLES FROM mysql;
5.1.3 当前运行的数据库名
显示当前已经打开的数据库。
语法:SELECT DATABASE();
SELECT DATABASE();
5.1.4 创建时的SQL语句
5.1.4.1 数据库
查看数据库创建时的SQL语句
语法:SHOW CREATE DATABASE db_name;
SHOW CREATE DATABASE db_t1;
5.1.4.2 表
查看创建表时的SQL语句。
语法:SHOW CREATE TABLE table_name;
SHOW CREATE TABLE t_student;
5.1.5 查看表的结构
语法:SHOW COLUMNS FROM table_name;
SHOW COLUMNS FROM t_student;
5.1.6 查看表的索引情况
语法:SHOW INDEXES FROM table_name;
-- 表格形式展示。
SHOW INDEXES FROM t_student;
-- 网格形式展示。
SHOW INDEXES FROM t_student\G;
5.2 创建数据库
语法:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset_name;
{}:必有。| 选择。[]可有。
CREATE DATABASE IF NOT EXISTS db_t1;
CREATE DATABASE IF NOT EXISTS db_t2 CHARACTER SET = utf8;
5.3 修改数据库
语法:ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name;
ALTER DATABASE db_t1 CHARACTER SET = utf8;
5.4 删除数据库
语法:DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
DROP DATABASE IF EXISTS db_t2;
5.5 打开数据库
语法:USE db_name;
USE db_t1;
五、数据库的表操作
数据库成员:表。
表成员:字段(列)+ 记录(行)。
5.1 创建表
语法:
CREATE TABLE [IF NOT EXISTS] table_name(
column_name data_type ,
…
column_name data_type
)
CREATE TABLE IF NOT EXISTS t_syudent(
id INT ,
username TINYINT UNSIGNED NOT NULL,
salary FLOAT(7,2) UNSIGNED NULL,
sex ENUM('男','女','保密') DEFAULT '保密'
);
5.2 修改表
5.2.1 增加单列
语法:
ALTER TABLE table_name ADD[COLUMN] column_name column_definition [FIRST | AFTER column_name;
ALTER TABLE t_student ADD clazz TINYINT UNSIGNED NOT NULL DEFAULT 1 AFTER username;
5.2.2 增加多列
语法:
ALTER TABLE table_name ADD[COLUMN] (column_name column_definition,…);
ALTER TABLE t_student ADD (clazz1 TINYINT UNSIGNED NOT NULL DEFAULT 1,clazz2 TINYINT UNSIGNED NOT NULL DEFAULT 1);
5.2.3 删除单列
语法:
ALTER TABLE table_name DROP[COLUMN] column_name;
ALTER TABLE t_student DROP clazz2;
5.2.4 删除多列
语法:
ALTER TABLE table_name DROP[COLUMN] column_name,DROP[COLUMN] column_name;
ALTER TABLE t_student DROP clazz1,DROP clazz2;
-- 增加clazz时,同时删除clazz1
ALTER TABLE t_student ADD clazz TINYINT UNSIGNED NOT NULL DEFAULT 1 AFTER username,DROP clazz1;
5.2.5 修改单列
(1)修改列定义
语法:
ALTER TABLE table_name MODIFY[COLUMN] column_name column_definition [FIRST | AFTER column_name];
ALTER TABLE t_student MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;
(2)修改列名称
语法:
ALTER TABLE table_name CHANGE[COLUMN] old_column_name new_column_name column_definition [FIRST | AFTER column_name];
ALTER TABLE t_student CHANGE id pid SMALLINT UNSIGNED NOT NULL FIRST;
5.2.6 修改表名
语法一:
ALTER TABLE table_name RENAME[TO | AS] new_table_name;
语法二:
RENAME TABLE table_name TO new_table_name,table_name TO new_table_name;
ALTER TABLE t_student RENAME t_student2;
六、表的行操作
参见《MySQL-单表(行操作)》。