一.在命令行下登录MySQL
mysql -h 主机名 -P 端口号 -u root -p
参数说明:
- -h: 所要登录的 MySQL 主机名(host), 登录本机(localhost 或 127.0.0.1)该参数可以省略;
- -P: 对应的端口号(port)
- -u: 用户名(username)
- -p: 密码(password)
二. SQL语言
SQL一共分三种:
- 数据定义语言(Data Definition Language,DDL)
数据库管理系统提供了数据定义语言定义数据库涉及各种对象,定义数据的完整性约束、保密限制等约束。 - 数据操作语言(Data Manipulation Language,DML)
数据库管理系统提供了数据操作语言实现对数据的操作。基本的数据操作有两类:检索(查询select)和 更新(插入insert、删除delete和更新update)。 - 数据控制语言(Data Control Language,DCL)
数据库管理系统提供了数据控制语言实现对数据库的控制,包含数据完整性控制、数据安全性控制和数据库的恢复等。
三.MySQL中对数据库的操作
所有mysql命令都需要有命令结束标识符,一般情况下是分号, 表示一条命令的结束
1.查看数据库
查看所有数据库
show databases;
查看数据库的创建语句
show create databse 数据库名;
2.新建数据库
语法规则如下:
CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];
[]中的内容是可选的。语法说明如下:
- <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,注意在 MySQL 中不区分大小写。
- IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
- [DEFAULT] CHARACTER SET:指定数据库的默认字符集。
- [DEFAULT] COLLATE:指定字符集的默认校对规则。
MySQL 的字符集(CHARACTER)和校对规则(COLLATION)两个不同的概念:字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式,解决排序和字符分组的问题, MySQL 默认是不区分大小写的,若要区分大小写,则需要更换字符集的校对规则。
注意:
- MySQL默认的字符集Latin, 需要在创建数据库的时候指定数据库的字符集为utf8
- 为防止字符混乱的情况发生,MySQL 有时需要在创建数据库时明确指定字符集;在中国大陆地区,常用的字符集有 utf8 和 gbk。
- utf8 能够存储全球的所有字符,在任何国家都可以使用,默认的校对规则为 utf8_general_ci,对于中文可以使用 utf8_general_ci。
- gbk 只能存储汉语涉及到的字符,不具有全球通用性,默认的校对规则为 gbk_chinese_ci。
create database if not exists database_name
default charset=utf8
default collate utf8_chinese_ci;
3.选择数据库
在 MySQL 中,USE 语句用来完成一个数据库到另一个数据库的跳转。
只有使用 USE 语句来指定某个数据库作为当前数据库之后,才能对该数据库及其存储的数据对象执行操作。
use database_name;
4.删除数据库
DROP DATABASE [ IF EXISTS ] <数据库名>
语法说明如下:
- <数据库名>:指定要删除的数据库名。
- IF EXISTS:用于防止当数据库不存在时发生错误。
- DROP DATABASE:删除数据库中的所有表格并同时删除数据库。使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。
MySQL有四个初始的系统数据库:
- information_schema
- performance_schema
- mysql
- sys
系统数据库存放一些和数据库相关的信息,如果删除了这两个数据库,MySQL 将不能正常工作。注意千万不要把系统数据库删除
5. 修改数据库
ALTER DATABASE [数据库名] {
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}
例如: 使用命令行工具将数据库 test_db 的指定字符集修改为 gb2312,默认校对规则修改为 utf8_unicode_ci
ALTER DATABASE test_db
DEFAULT CHARACTER SET gb2312
DEFAULT COLLATE gb2312_chinese_ci;