您的位置:首页 > 数据库 > MySQL

MySQL使用帮助及基本概念

2019-03-28 12:40 204 查看

01.mysql数据库/表
1.数据库
举例:创建test数据库#create database test
切换数据库#use sys(数据库名)可以不用加分号
查看当前在哪个数据库#select database();
使用帮助手册#? create 或者 help create
查看有哪些库#show databases;
注意:information_schema,performance_schema,sys,mysql是mysql的系统库,不能动的
2.表
举例:建ceshi表# CREATE TABLE ceshi(id int,name varchar(20));
查看有哪些表#show tables;
查看某个表的信息#desc 表名;
3.帮助手册
{}:必选
[]:可选可不选
小写:变量名,需替换
大写:直接复制的,
():必选,圆括号的下面会有详细输出的
|:可选
注意:[IF NOT EXISTS]如果不存在就创建
02.系统数据库简单介绍
MySQL系统数据库(不同版本不一样)
information_schema(里面有表,视图,函数,定义的信息) (CHARACTER_SETS等)
mysql (权限表) (user)
performance_schema(线程表) (threads)
sys(innodb_buffer_stats_by_schema)
系统表对所有用户都是重要的工具。通过查询系统表,用户可以得到关于自己的表、视图、索引等对象的信息
例1: 得到在ceshi表上定义的索引的名字
create table ceshi(id int,name varchar(20),primary key(id),key(name));
注意:primary key(加主键),Key(加索引)
mysql> use information_schema;
mysql> select index_name from statistics where table_name=‘ceshi’;
注意:上面两行可以合并为一行
select index_name from information_schema.statistics where table_name=‘ceshi’;
±-----------+
| index_name |
±-----------+
| PRIMARY |
| name |
±-----------+
2 rows in set (0.00 sec)
03.mysql show的使用(? show)
访问系统表的一个快捷方式是使用show语句(40条):
SHOW {BINARY | MASTER} LOGS
SHOW BINLOG EVENTS [IN ‘log_name’] [FROM pos] [LIMIT [offset,] row_count]
SHOW CHARACTER SET [like_or_where]查看mysql支持的所有字符集(utf8)
SHOW COLLATION [like_or_where]查看字符集对应规则
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [like_or_where]
SHOW CREATE DATABASE db_name查看创建的语句,包括默认
SHOW CREATE EVENT event_name
SHOW CREATE FUNCTION func_name
SHOW CREATE PROCEDURE proc_name
SHOW CREATE TABLE tbl_name查看建表的语句
SHOW CREATE TRIGGER trigger_name触发器
SHOW CREATE VIEW view_name视图
SHOW DATABASES [like_or_where]
SHOW ENGINE engine_name {STATUS | MUTEX}查看mysql支持的引擎
SHOW [STORAGE] ENGINES查看mysql支持的所有引擎
SHOW ERRORS [LIMIT [offset,] row_count]查看错误
SHOW EVENTS
SHOW FUNCTION CODE func_name
SHOW FUNCTION STATUS [like_or_where]
SHOW GRANTS FOR user查看授权语句,无参数时默认当前用户
SHOW INDEX FROM tbl_name [FROM db_name]查看索引
SHOW MASTER STATUS
SHOW OPEN TABLES [FROM db_name] [like_or_where]
SHOW PLUGINS
SHOW PROCEDURE CODE proc_name
SHOW PROCEDURE STATUS [like_or_where]
SHOW PRIVILEGES查看mysql支持的所有权限
SHOW [FULL] PROCESSLIST
SHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n]
SHOW PROFILES
SHOW SLAVE HOSTS
SHOW SLAVE STATUS [NONBLOCKING]
SHOW [GLOBAL | SESSION] STATUS [like_or_where]状态值,不能改
SHOW TABLE STATUS [FROM db_name] [like_or_where]
SHOW [FULL] TABLES [FROM db_name] [like_or_where]
SHOW TRIGGERS [FROM db_name] [like_or_where]
SHOW [GLOBAL | SESSION] VARIABLES [like_or_where]变量值,可修改
SHOW WARNINGS [LIMIT [offset,] row_count]查看警告
like_or_where:
LIKE ‘pattern’
| WHERE expr
例1:显示ceshi表中所有列的信息
show columns from ceshi;
desc ceshi; 常用
describe ceshi
例2: 显示ceshi表上索引的信息
show index from penalties;
select * from statistics where TABLE_SCHEMA=‘test’ and table_name=‘a’;
例3:显示系统中所有数据库的名字
show databases;
select schema_name from SCHEMATA;
例4:显示当前数据库中所有表的名字
show tables;
select table_name from tables where table_schema=‘test’;
例5:显示创建ceshi表的create table语句
show create table ceshi;
例6:显示用户sqlyog拥有的权限
show grants for ‘sqlyog’@’%’;
select * from USER_PRIVILEGES where GRANTEE =’‘sqlyog’@’%’’;
例7:显示所有权限的名称及其含义
show privileges;
show tables like ‘%PRIVILEGES’;
select distinct(PRIVILEGE_TYPE) from user_PRIVILEGES;
04.mysql help的使用
查看所有可help信息
? contents | help contents不知道要怎么写的时候,只有模糊记忆时,一层一层往下查
Account Management账号管理
Administration管理数据库
Compound Statements混合语句
Data Definition数据定义
Data Manipulation数据操纵语言,增删改查数据
Data Types数据类型
Functions函数
Functions and Modifiers for Use with GROUP BY
Geographic Features
Help Metadata
Language Structure语言结构
Plugins
Procedures模块
Storage Engines
Table Maintenance
Transactions
User-Defined Functions用户定义
Utility
例1: ? CREATE USER
CREATE USER ‘chen’@‘localhost’ IDENTIFIED BY ‘123’;
CREATE USER ‘zhi’@‘localhost’ IDENTIFIED BY ‘123’ PASSWORD EXPIRE NEVER;
例2:? SET
show variables like ‘%slow%’;
查官方文档
搜索:variable ——》 Server Option and Variable Reference
Ctrl+f输入搜具体的变量
cmd-line:是否允许出现在命令行(mysql启动时)
option-file:是否允许出现在配置文件中(unknown variable)
system var:是否是系统变量,可以进行设置
status var只能进行查看不能修改
dynamic:是否允许动:是否是状态值,态修改,允许set
scope影响范围:global、session(当前会话)
type:类型
默认值:
值的范围:最小——最大
set global slow_query_log=1;
show variables like ‘%slow%’;
获取错误消息
当sql语句执行出错时,会产生一个错误消息。但是不是所有的错误消息都会显示,这取决于错误的严重程度。当一条sql语句执行出错了,我们可以使用show warnings 语句来显示所有错误消息(提示、警告和错误)
mysql> select ‘abc’/0;
±---------+
| ‘abc’ /0 |
±---------+
| NULL |
±---------+
1 row in set, 2 warnings (0.00 sec)
mysql> show warnings;
±--------±-----±----------------------------------------+
| Level | Code | Message |
±--------±-----±----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: ‘abc’ |
| Warning | 1365 | Division by 0 |
±--------±-----±----------------------------------------+
2 rows in set (0.00 sec)
05.mysql大小写
MySQL数据库/表名、表别名严格区分大小写
lower_case_file_system:文件系统级别区分大小写,off表示区分大小写,on表示不区分,不能改
lower_case_table_names:表名大小写敏感参数,可以改
0:区分大小写,敏感
1:不区分大小(以小写保存文件)
MySQL在Linux下数据库名、表名、表别名大小写默认规则:
数据库名、表名、表别名严格区分大小写
create database Ceshi; -区分大小写
create database CeShi;
create table AaBbC(id int); -区分大小写
create table aabbC(id int);
select * from AaBbC AABBC join aabbC aabbc where AABBC.id=aabbc.id; - 区分大小写
select * from AaBbC AABBC join aabbC aabbc where AABBC.id=aabbc.id;
MySQL在Windows下各个对象名都不区分大小写
MySQL列名、列别名、变量大小写
MySQL在Linux下列名、列别名大小写默认规则:
列名、列的别名忽略大小写
select * from AaBbC AABBC join aabbC aabbc where AABBC.Id=aabbc.iD;
select id ID from AaBbC ;
变量名严格区分大小写
set @aa=1;
set @aA=1;
系统变量
MySQL服务器有特定的设置。当MySQL服务器启动时,这些设置被读取来确定下一步骤。例如,某些设置定义了数据如何被存储,其它的则影响到处理速 1c6f4 度。这些设置叫做系统变量(system variable)
系统变量的名字前要带2个@@符号
查看系统中有哪些系统变量:show global variables;
要得到系统变量的值,使用select语句:
例:查询MySQL服务器的最新版本
mysql> select @@version
某一些系统变量的值可以被修改,大部分都可以修改,使用set语句:
mysql> set @@show_compatibility_56 = 1;
通过官方文档修改变量参数值
参数类型:
1、变量参数:
静态——只允许出现在配置文件中
动态——可以在会话中直接修改
2、状态值
监控有意义的状态值有利于监控mysql的运行状况
作用域:全局、会话
cmd-line:是否允许出现在命令行(mysql启动时)
deprecated:是否废弃
option-file:是否允许出现在配置文件中(unknown variable)
system var:是否是系统变量,可以进行设置
status var:是否是状态值,只能进行查看不能修改
dynamic:是否允许动态修改,允许set
scope影响范围:global、session(当前会话)
type:类型
默认值:
值的范围:最小——最大
例子:
1、编辑MySQL的配置文件my.cnf,在 [mysqld] 下增加一行:
lower_case_table_names=1
2、重启数据库
#service mysql restart
3、验证修改成功
mysql> show variables like ‘lower%’;
±-----------------------±------+
| Variable_name | Value |
±-----------------------±------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
±-----------------------±------+
2 rows in set (0.01 sec)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: