MySQL 客户端工具
1.1.1 MysQL客户端命令介绍
mysql命令客户端
用于数据库连接管理
将 用户SQL 语句发送到服务器
mysqladmin命令 :命令行管理工具
mysqldump命令 :备份数据库和表的内容
1.1.2 mysql命令说明
用于连接数据库
用于管理数据库通过下列方式进行管理
命令接口自带命令
DDL:数据定义语言
DCL:数据控制语言
DML:数据操作语言
mysql命令接口自带命令说明
命令 | 命令说明 |
---|---|
\h 或 help 或 ? | 获取帮助 |
\G | 格式化输出(行转列) |
\T 或 tee | 记录操作日志 tee /tmp/mysql.log |
\c 或 CTRL+c | 退出mysql |
\s 或 status | 查看数据库状态信息 |
. 或 source | mysql> source /tmp/world.sql |
! | 使用shell中的命令 mysql> ! cat /etc/redhat–releaseCentOS release 6.9 (Final) |
\u 或****use | use worldshow databases 看当前所有数据库的名字show tables 查看当前use到的数据库所有的表show tables from world 查看目标数据库下的表 |
快捷键 | 上下翻页、TAB键、ctrl +C 、ctrl +L |
1.1.2.1 mysql中help命令的使用
在mysql命令行中输入mysql或 ?都可以查看帮助
mysql> help
使用 help contents查看完整的sql类别列表帮助
mysql> help contents
有关特定 SQL 类别或语句的帮助
mysql> help Account Management
查看 grant 的帮助
mysql> help GRANT
有关与状态相关的 SQL 语句的帮助
mysql> help status
1.1.2.2 source命令的使用
在 mysql 中处理输入文件:
如果这些文件包含 SQL 语句,则称为“脚本文件”或“批处理文件”。
使用 SOURCE 命令:
mysql> SOURCE /data/mysql/world.sql
或者使用非交互式:(尽量避免使用mysql 导入数据,会产生大量的无用日志)
mysqldata/mysql/world.sql
1.1.3 mysqladmin命令说明
基本语法
mysqladmin -u -p commands
命令说明图表
功能选项 | 说明 |
---|---|
mysqladmin -u****用户 -p****密码 ping | “强制回应 (Ping)”服务器。 |
mysqladmin -u****用户 -p****密码 shutdown | 关闭服务器。 |
mysqladmin -u****用户 -p****密码 create databasename | 创建数据库。 |
mysqladmin -u****用户 -p密码drop databasename | 删除数据库 |
mysqladmin -u****用户 -p****密码 version | 显示服务器和版本信息 |
mysqladmin -u****用户 -p****密码 status | 显示或重置服务器状态变量 |
mysqladmin -u****用户 -p****密码 password | 设置口令 |
mysqladmin -u****用户 -p****密码 flush-privileges | 重新刷新授权表。 |
mysqladmin -u****用户 -p****密码 flush-logs | 刷新日志文件和高速缓存。 |
以上信息通过****mysqladmin –help 获得 |
1.1.4 mysqldump简单说明
mysqldump是一款数据库备份工具。
命令帮助及基本语法:
[root@db02 ~]# mysqldump --help
Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3…]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
情参照mysqldump –help
1.1.5 字符集说明
1.1.5.1 常用的字符集
MySQL数据库的字符集:字符集(CHARACTER)、校对规则(COLLATION)
MySQL中常见的字符集:UTF8、LATIN1、GBK
常见校对规则:ci:大小写不敏感、cs或bin:大小写敏感
我们可以使用以下命令查看:show charset; 、 show collation;
1.1.5.2 字符集设置(保证操作系统 客户端 服务端字符集一致)
系统字符集说明
[root@db02 ~]# cat /etc/sysconfig/i18n
LANG=“en_US.UTF-8”
SYSFONT=“latarcyrheb-sun16”
[root@db02 ~]# echo $LANG
en_US.UTF-8
客户端字符集说明
方法1:在编译安装时候就指定如下服务器端字符集。
cmake .
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
方法2:在my.cnf文件中添加上字符参数
[mysqld]
character-set-server=utf8
数据库中的库级别设置
CREATE DATABASE clsn
/*!40100 DEFAULT CHARACTER SET utf8 */
create database clsn DEFAULT CHARACTER SET UTF8 DEFAULT COLLATE = utf8_general_ci;
获取帮助并查询
help create database;
show character set;
表级别(含字段级别)
CREATE TABLE test
(
id
int(4) NOT NULL AUTO_INCREMENT,
name
char(20) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8
1.1.5.3 MySQL客户端级别(连接及返回结果)
方法1:临时生效单条命令法。
mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)
方法2:通过修改my.cnf实现修改mysql客户端的字符集,配置方法如下
[client]
default-character-set=utf8
程序代码级别:生产环境更改数据库(含数据)字符集的方法
alter database clsn CHARACTER SET utf8 collate
utf8_general_ci;
alter table t1 CHARACTER SET latin1;
注意:更改字符集时,一定要保证由小往大改,后者必须是前者的严格超集。生产中别随便改。
1.3 SQL语句入门
1.3.0 通过调用函数查询操作
查看 当前所在的数据库
mysql> select database();
查看当前的登陆用户
mysql> select user();
1.3.1 DDL语句(数据定义语言)
定义范围:
库 :名字、特性
表:表名字、列名 列属性(数据类型 列约束)
1.3.1.1 数据库查看
查看数据库–查看全部
mysql> show databases;
查看数据库–模糊匹配
mysql> show databases like “%s%”;
查看你相关的帮助
mysql> ? show databases;
Name: ‘SHOW DATABASES’
Description:
Syntax:
SHOW {DATABASES | SCHEMAS}
[LIKE ‘pattern’ | WHERE expr]
1.3.1.2 数据库操作
创建一个数据库
mysql> create database haha;
通过show 命令能够查看创建的数据库的格式
mysql> show create database haha;
±---------±--------------------------------------------------------------+
| Database | Create Database |
±---------±--------------------------------------------------------------+
| haha | CREATE DATABASE haha
/*!40100 DEFAULT CHARACTER SET utf8 */ |
±---------±--------------------------------------------------------------+
1 row in set (0.00 sec)
创建数据库时定义字符编码
mysql> create database clsn charset utf8 ;
存在的数据库修改字符编码:
mysql> alter database clsn charset gbk;
标准修改系统
ALTER DATABASE [db_name] CHARACTER SET charset_name COLLATE collation_name;
ALTER DATABASE clsn CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
查看支持的字符集和校对规则.
mysql> show character set;
±---------±----------------------------±--------------------±-------+
| Charset | Description | Default collation | Maxlen |
±---------±----------------------------±--------------------±-------+
| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
| dec8 | DEC West European | dec8_swedish_ci | 1 |
删除数据库
mysql> drop database haha;
切库
mysql> use clsn;
查看当前所在数据库
mysql> select database();
查看当前登陆的用户
mysql> select user();
查看库里面的表
mysql> show tables;
1.3.1.3 DDL语句之管理表
表的属性:
字段、数据类型、索引
默认:字符集、引擎
创建表
create table <表名> (
<字段名1> <