mysql shell 作用域,mysql知识

#记录学习马哥MYSQL的相关SQL命令的用法。#

1、mysql> SHOW ENGINES; #展示当前数据库可以支持的数据库引擎,Default 为默认使用的数据库引擎。

2、mysql> use mysql;

mysql> help SHOW TABLE STATUS; # show table status 为获取表的信息,help 是查看其使用方法。

3、mysql> SHOW TABLE STATUS LIKE 'user'; #查看mysql库中user表的信息

mysql> SHOW TABLE STATUS LIKE 'user';

+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+-----------------------------+

| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |

+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+-----------------------------+

| user | MyISAM | 10 | Dynamic | 2 | 132 | 264 | 281474976710655 | 4096 | 0 | NULL | 2018-06-20 09:58:29 | 2018-06-20 11:46:40 | NULL | utf8_bin | NULL | | Users and global privileges |

+------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------+----------+----------------+-----------------------------+

1 row in set (0.01 sec)

4、shell# mysql --help --version #查看mysql中my.cnf中支持的各种指令

5、mysql> SHOW CHARACTER SET; #查看mysql支持的字符集

6、mysql> SHOW COLLATION; #显示字符集的排序规则

7、mysql> SELECT LAST_INSERT_ID(); #查询上一次SQL执行结果

8、AUTO_INCREMENT

例子 mysql> CREATE TABLE test(ID UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,name CHAR(20)) #创建一个表,两个字段ID,name;ID字段是无符号自动增长非空主键。name字段是定长20

MYSQL服务器变量:

作用域:分为两类

全局变量

SHOW GLOBAL VARIABLES

会话变量

SHOW [SESSION] VARIABLES

9、mysql> SHOW GLOBAL VARIABLES LIKE 'sql_mode'; #查看当前支持的sql模型,global表示全局变量

mysql> SELECT @@global.sql_mode; #不一样的表达式相同的结果

10、服务器变量:@@变量名

显示:SELECT

设定:SET GLOBAL | SEEEION 变量名='value'

########################################################################################@我是分界线@#####################################

第二讲:

mysql> HELP CRATE TABLE | DATABASE #查看帮助信息

1、创建数据库:

mysql> CREATE DATABASE | SCHEMA [IF NOT EXISTS] db_name [CHARACTER SET=] [COLLATE=]

e.g:mysql> CREATE SCHEMA IF NOT EXISTS students CHARACTER SET 'gbk' COLLATE 'gdk-chinese-ci';

2、删除数据库

mysql> DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

3、 表的创建:

1、直接定义一张空表

mysql> CREATE TABLE [IF NOT EXISTS] tb_name(col_name col_defination,...)

2、从其他表中查询出数据,并以之创建新表

mysql> CREATE TABLE testcourses SELECT * FROM courses WHERE CID <=2;

3、以其他表为模板创建一个空表

mysql> CREATE TABLE test LIKE courses;

4、修改表定义:

ALTER TABLE

添加、删除、修改字段

添加、删除、修改索引

改表名

修改表属性

5、删除表

mysql> DROP TABLE td_name;

DML:

SELECT

SELECT select-list FRPM tb WHERE qualification

查询语句类型:

简单查询

多表查询

子查询

SELECT FROM tb_name

SELECT field1,field2 FROM tb_name;投影

SELECT [DISTINCT] FROM tb_name WHERE qualification; 选择

FROM子句:要查询的关系 表、多个表、其他SELECT语句

WHERE子句:布尔关系表达式;=、>、>=、<=、<

SQL测试语句:

1、通过 SQL,您如何从 "Persons" 表中选取 "FirstName" 列的值等于"Peter" 的所有记录?

mysql> SELECT FROM Persons WHERE FirstName='Peter'

2、通过 SQL,您如何从 "Persons" 表中选取 "FirstName" 列的值以 "a" 开头的所有记录?

mysql> SELECT FROM Persons WHERE FirstName LIKE 'a%'

3、通过 SQL,您如何在表 Persons 中选择 FirstName 等于 Thomas 而 LastName 等于 Carter 的所有记录?

mysql> SELECT FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

4、通过 SQL,您如何按字母顺序选取 Persons 表中 LastName 介于 Adams 和 Carter 的所有记录?

mysql> SELECT FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

5、通过 SQL,您如何根据 "FirstName" 列降序地从 "Persons" 表返回所有记录?

mysql> SELECT FROM Persons ORDER BY FirstName DESC

6、通过 SQL,您如何向 "Persons" 表插入新的记录?

mysql> INSERT INTO Persons VALUES ('Jimmy', 'Jackson')

7、通过 SQL,您如何向 "Persons" 表中的 "LastName" 列插入 "Wilson" ?

mysql> INSERT INTO Persons (LastName) VALUES ('Wilson')

8、您如何把 "Persons" 表中 "LastName" 列的 "Gates" 改为 "Wilson" ?

mysql> UPDATE Persons SET LastName='Wilson' WHERE LastName='Gates'

9、通过 SQL,您如何在 "Persons" 表中删除 "FirstName" 等于 "Fred" 的纪录?

mysql> DELETE FROM Persons WHERE FirstName = 'Fred'

10、通过 SQL,您如何返回 "Persons" 表中记录的数目?

myql> SELECT COUNT() FROM Persons

1、创建一个用户

mysql> create user username@host [identified by 'password'];

2、查看一个用户的授权信息

mysql> show grants for 'username@host';

3、授权命令

mysql> grant all privileges on db.* to username@'%';

4、删除一个用户

mysql> drop user username@'host';

5、重命名一个用户名

mysql> rename user old_name to new_name;

6、取消用户授权信息

mysql> revoke

7、数据库忘记root密码

请自行百度,简单的很的很~

mysql日志分类:

错误日志

一般查询日志

geneAral_log

general_log_file

log

log_output

慢查询日志

long_query_time

long_slow_queries={YES|NO}

slow_query_log

slow_query_log_file

二进制日志:任何引起或可能引起数据库变化的操作;用于实现mysql复制,即时点还原。

mysqlbinlog

二进制日志的格式

基于语句:statement

基于行:row

混合方式:mixed

二进制日志事件:

产生的时间

相对位置

二进制日志事件

产生的时间

相对位置

二进制日志文件

索引文件

二进制日志文件

查看当前正在使用的二进制日志文件

mysql> SHOW MASTER STATUS;

mysql> SHOW BINARY LOGS;

mysql> SHOW BINLOG EVENTS IN '二级制日志文件名' [from pos];

mysql> PURGE BINARY LOGS TO '某二进制日志文件'

mysqlbinlog

--start-datetime

--stop-datetime

--start-position

--stop-position

中继日志

事务日志:ACID,将随机IO转换为顺序IO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值