美文网首页
Mysql常规操作

Mysql常规操作

作者: 白衣渡人_a063 | 来源:发表于2018-08-14 14:55 被阅读0次

    一、增加用户

    1.远程登录用户

    格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
    例子:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。

    grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

    2.增加本机登录用户

    例子:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作

    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

    二、数据库操作

    1.显示数据库

    mysql>> show databases;

    2.创建数据库

    mysql>> create database <数据库名>

    3.删除数据库

    mysql>> drop database <数据库名>

    4.选择数据库

    mysql>> use <数据库名>

    5.查看当前数据库所有数据表

    mysql>> show tables;

    6.查看数据库版本

    mysql>> select version();

    三、表操作

    1.创建表

    mysql>> create table <表名>(<字段名n> <类型n>...);

    表参数 理解
    NOT NULL 不为空
    AUTO_INCREMENT 自增属性+1,一般用于主键
    PRIMARY KEY 定义主键
    ENGINE 设置存储引擎
    CHARSET 设置编码
    ASC 升序
    DESC 降序
    INDEX、KEY 用于指定字段为索引
    UNIQUE 创建唯一性索引
    FULLTEXT 创建全文索引
    SPATIAL 创建索引

    2.获取表结构

    mysql>> desc <表名>
    show columns from <表名>

    3.删除表

    mysql>> drop table <表名>

    可删除多个,需要有每个表的DROP权限

    4.插入数据

    mysql>> insert into <表名>(字段名..) VALUE(值);

    说明:每次只能向表中插入一条数据

    5.删除数据

    mysql>> delete from <表名> where 表达式

    6.更新表数据

    mysql>> update <表名 > set 字段=新值... where 表达式

    可更新多张表,limit限制更新行数

    7.更改表字段

    7.1 新增表字段

    mysql>> alter table <表名> add <字段> 类型 其他;

    7.2 加索引

    mysql>> alter table <表名> add index <索引名> (字段名,字段名...)

    7.3加关键字索引

    mysql>> alter table <表名> add primary key(id);

    7.4删除索引

    mysql>> alter table <表名> drop index <索引名>;

    7.5修改字段类型

    mysql>> alter table <表名> MODIFY 字段 类型 新类型;

    7.5修改字段名称、类型

    mysql>> alter table <表名> CHANGE 字段 新字段名 新类型

    8.修改表名

    mysql>> rename table 原表名 to 新表名

    当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。

    9.查数据表相关信息

    show table status like '表名';

    10.查询数据库变量属性

    show variables like "PROFILING(变量名)";

    属性 含义
    name 表名
    Engine 表的引擎类型,旧版本中该属性名为Type
    Row_format 行的格式 Dynamic(长度可变)Fixed(长度固定)Compressed(压缩表)
    Rows 表的行数(InnoDB中是估计值)
    Avg_row_length 平均每行字节数
    Data_length 表数据大小(字节单位)
    Max_data_length 表数据最大容量(和存储引擎有关)
    Index_length 索引大小(字节单位)
    Data_free 已分配还未使用空间
    Auto_increment 下一个AUTO_INCREMENT的值
    Create_time 创建时间
    Update_time 最后更新时间
    Check_time 最后一次检查表的时间
    Collation 表的默认字符集和字符列排序规则
    Create_options 创建表时指定的其他选项
    Comment 额外信息,注释或空间信息

    四、数据备份

    mysqldump常用于MySQL数据库逻辑备份。导出文件默认在mysql\bin目录下

    1.备份数据库

    格式:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

    mysql>> mysqldump -u user_name -p 123456 [database_name...] > 路径/文件名

    2.备份数据表

    格式同数据库备份

    mysql>> mysqldump -u user_name -p 123456 database_name [table_name....]> 路径/文件名

    3.导出数据库结构

    mysql>> mysqldump -u user_name -p -d –add-drop-table database_name > 路径/文件名

    -d 无数据 -add-drop-table 在每个create语句之前增加一个drop table

    4.不同主机备份

    mysql>> mysqldump -h链接ip -P(大写)端口 -u用户名 -p密码数据库名>路径

    5.数据库恢复

    mysql>> source 备份文件

    第二种:命令行执行
    mysql -uroot -p demo_db < 备份文件

    五、binlog增量备份

    相关文章

      网友评论

          本文标题:Mysql常规操作

          本文链接:https://www.haomeiwen.com/subject/habmbftx.html