MySQL数据库之mysql知识
小标 2018-09-12 来源 : 阅读 1023 评论 0

摘要:本文主要向大家介绍了MySQL数据库之mysql知识 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之mysql知识 ,通过具体的内容向大家展现,希望对大家学习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    

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程