zoukankan      html  css  js  c++  java
  • mysql常用命令

    -----创建-----

    查看服务器中当前有哪些数据库
    mysql> show databases;
    
    选择所使用的数据库
    mysql> use 数据库名;
    
    创建数据库
    mysql> create database 数据库名;
    
    在当前数据库中创建数据表
    mysql> create table 表名 (字段 1 类型 1,...);
    

    -----删除-----

    删除指定的数据库
    mysql> drop database 数据库名;
    
    删除当前或指定数据库中指定的数据表 
    mysql> drop table 表名;
    
    删除所有记录
    mysql> truncate table 表名;
    
    删除字段
    mysql> alter table 表名 drop 字段;
    
    在数据表中删除指定的记录 
    mysql> delete from 表名 where 条件表达式;
    
    将当前数据库表中记录清空 
    mysql> delete from 表名;
    
    用optimize table来优化一下,只对MyISAM, BDB和InnoDB表起作用。运行过程中,MySQL会锁定表。
    mysql> optimize table test.userinfo;
    

    -----查看-----

    查看服务器中当前有哪些数据库
    mysql> show databases;
    
    显示当前数据库中有哪些数据表 
    mysql> show tables;
    
    显示当前或指定数据库中指定数据表的结构(字段)信息 
    mysql> describe 表名;
    
    显示当前数据库的表中的记录
    mysql> select * from 表名;
    
    从数据表中查找符合条件的记录 
    mysql> select 字段名 1,字段名 2……from 表名 where 条件表达式;
    
    查看创建数据表的DDL语句
    show create table 表名
    
    查看usertest中数据按uid排序显示,SELECT * FROM table_name1 ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]
    SELECT * from usertest ORDER BY uid ASC;
    

    -----修改-----

    修改数据表的名称
    mysql> alter table 旧表名 rename 新表名;
    
    修改字段的类型 
    mysql> alter table 表名 modify 字段 类型;
    
    修改字段
    mysql> alter table 表名 change 旧字段名 新字段名 类型;
    
    修改、更新数据表中的记录 
    mysql> update 表名 set 字段名=新数据 where 条件表达式;
    

    -----增加-----

    增加字段
    mysql> alter table 表名 add 字段 类型(first/after);
    
    向user表中的name字段后添加aa字段。
    mysql> alter table user add aa after name;
    
    添加aa字段并将其作为第一个字段
    mysql> alter table user add aa first;
    
    向数据表中插入新的记录
    mysql> insert into 表名(字段 1,字段 2,……) values(字段 1 的值, 字段 2 的值,……);
    INSERT INTO usertest(NAME,email,age,sex,phone)  SELECT NAME,email,age,sex,phone FROM usertest;
    

    -----对用户授权 -----

    mysql> grant 权限 1,权限 2,...... on 数据库.数据表 to 用户@登录位置 (identified by '密码');
    取消用户授权
    mysql> revoke 取消的权限 1,取消的权限 2,...... on 数据库.数据表 from 用户@登录位置;
    mysql> show grants for 用户@登录位置;
    
    1.授予用户全部权限
    创建用户
    Mysql> CREATE USER 'lis'@'%' identified by '123456';
    Mysql> select host,user,password from mysql.user;
    Mysql> grant all on test.a1 to lis@'%'; 
    
    给已存在用户(lis)授权,对 aa 库中的 a1 表有全部(all)权限, ‘%’代表除本机以外所有。
    Mysql> grant all on *.* to lis@'%';
    
    给已存在用户(lis)授权,对所有库所有表有全部(all)权限
    Mysql> grant all on aa.a1 to lis@'%';
    
    创建用户 abc 的同时并授权对 aa 库中的 a1 表有全部(all)权限
    Mysql> grant all on aa.a1 to abc@'%' identified by '123456';
    
    2.取消 abc 用户的删除库、表、表中数据的权限
    Mysql> revoke drop,delete on aa.a1 from abc@'%';  #取消删除权限(登录 abc 测试)
    Mysql> show grants for abc@'%'; #查看指定用户 abc 的授权 
    
    创建root用户,密码Idmm4+TtBmc=,权限和root一样的用户
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Idmm4+TtBmc=' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
    
    

    -----更改数据库密码-----

    方法1
    用SET PASSWORD命令   
    首先登录MySQL。
    更改其他用户密码
    mysql> set password for root@localhost = password('123456'); 
    
    更改当前用户密码
    mysql> set password=password('123456');
    
    
    方法2
    用mysqladmin   
    格式:mysqladmin -u用户名 -p旧密码 password 新密码  
    例子:mysqladmin -uroot -p123456 password 123  
    
    
    方法3
    用UPDATE直接编辑user表   
    首先登录MySQL。  
    mysql> use mysql;  
    mysql> update user set password=password('123') where user='root' and host='localhost';  
    mysql> flush privileges;  
    

    找回密码

    1.root 找回自己的密码并修改
    1)关闭数据库
    2)修改主配置文件(/etc/my.cnf)<------ skip-grant-tables
    3)启动数据库
    4)空密码登录并修改密码
    mysql> update mysql.user set password=password('新密码') where user='root';
    5)删除 skip-grant-tables,重启数据库验证新密码
    


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Python 接口测试(十)
    接口测试(9)
    flask 部署后并发测试
    unity提示can't add script解决办法
    VUE环境部署
    提高Django高并发性的部署方案(Python)
    解决python发送multipart/form-data请求上传文件的问题
    python md5
    Django-jinjia2的赋值
    python多线程并发
  • 原文地址:https://www.cnblogs.com/outsrkem/p/12593823.html
Copyright © 2011-2022 走看看