Mysql_笔记2018.1.28

1.Mysql代码规范

1.关键字、函数名称大写
2.数据库名称、表名称、字段名称等全部小写
3.必须以分号;结尾  (或 \g)

2.记录mysql日志

开始记录
mysql> \T 日志地址 日志文本名.txt
结束记录
mysql> \t

3.创建数据库

//简单创建
CREATE DATABASE test1; //创建test1数据库
//详细创建:查验无重名后再新建数据库,并指定编码格式
create database if not exists maizi4 charcter set 'GBK'

4.查看数据库列表、某个数据库详情

全部数据库列表
show databases;
查看数据库详情(主要是编码格式、内容)
show create database 数据库名; 
show create schema 数据库名;

5.修改数据库编码格式(默认utf-8)

1.alter database 数据库名称 default character set utf8;
2.alter database 数据库名称 default character set=utf8;

6.打开数据库

打开某个数据库
use 数据库名;
查看当前打开的数据库的列表
select database();  //注意带() 那是个方法

7.删除数据库

//直接删
drop database 数据库名;
//验证存在后再删
drop database if exists 数据库名;

8.查看警告详情

show warnings;

9.查看Mysql帮助手册

1.help tinyint      //查看tinyint的范围     
2.? int         //查看int的范围
3.\h create database //查看如何创建数据库

10.几个常见的数据库存储引擎

//每次建表时可以根据存储格式选择不同的存储引擎,不同引擎支持的**不同。主要有:
1.InnoDB存储引擎【默认轻轻功能强大,效率较低,支持并发、外键、回滚和修复,使用的最多】
    ---常规---
2.MyISAM存储引擎【插入记录快,默认静态(固定长度),不支持事物,对完整性、并发性支持弱】
    ---读取快,完整性、并发性要求不高---
3.MEMORY存储引擎【在内存中存储,读取快但耗内存;很少使用,一般不能建很大的表,多是一次性表】
    ---临时表---

11.数据存储引擎查询

查看支持的存储引擎 show engines;
查看支持的存储引擎信息:show variables like ‘have%’
查看默认的存储引擎:show variables like 'storage_engine'

12.创建数据表

创建数据表

//注:一般是在别的编辑器(推荐Notepad++)建好再粘贴到命令行
//注:Mysql里面都是用`反引号包裹关键词的,区别保留字与普通字符
CREATE TABLE[IF NOT EXISTS] `表名` (
    `字段名1`  列类型[属性][索引][注释],
    `字段名2`  列类型[属性][索引][注释],
    `字段名3`  列类型[属性][索引][注释],
    `字段名4`  列类型[属性][索引][注释],
)

创建数据表语句

13.检查mysql数据库存放目录

14.修改Mysql账号和密码

修改账号

Use mysql:
    Update user set user='新值' where user='旧值'
或:rename user'用户名'@'IP地址'to'新用户名'@'IP地址'

修改密码

Update user set password=password('新值') where user='账号名'
或:在当前账号下使用
set password for 用户名@localhost = password('新密码');

忘记密码

1.找到mysql安装目录下的my.ini文件
2.在[mysqld]下添加skip-grant-tables,然后保存并退出
3.使用net stop mysql 和net start mysql 重启mysql
4.使用mysql 命令进入mysql命令行
5. 进入mysql数据库:Use mysql   
    执行:Update  user set password=password(‘新值’)   where  user =‘账号名’
6.使用exit;退出mysql 。将my.ini 中的添加的skip-grant-tables删除或者屏蔽,保存后重启mysql。

15.开启远程访问

1.在mysql数据库user表中添加账号,设置他的host为%
      create user ‘用户名’@' %' identified by '密码';

2.需要给这个账号分配权限
     Grant 权限 on 数据库.* to ‘用户名’@’%’ identified by “密码”;
      权限=all privileges \ select,update,delete

3.刷新权限表:
          flush privileges; 

注意:如果创建权限的时候
会提示can't find any matching row in the user table,意思是在user表里找不到这个用户,但是直接用select 查询user表,是可以查到的。
原因是我们创建用户后,只是写入了user表,但是并没有及时写入权限表(grant table)。
所以需要在insert之后,执行 FLUSH PRIVILEGES命令,更新grant table,此时grant table里有了我们刚插入的用户,才能对它进行权限修改:
mysql> FLUSH PRIVILEGES;
posted @ 2018-01-28 19:25  Leq123  阅读(210)  评论(0编辑  收藏  举报