zoukankan      html  css  js  c++  java
  • <MySQL>MySQL的基本操作(增,删,改)

        1.用户管理
            创建用户:
                create user '用户名'@'IP地址' identified by '密码';(IP地址:%代表所有)
            用户登录:
                mysql -u 用户名 -p(enter之后输入密码)
                刚安装可能出现问题:无论怎么都没法登录新建的账户,提示如下:
                ERROR 1045 (28000): Access denied for user '123'@'localhost' (using password: YES)
                原因:mysql的认证规则导则,匿名用户影响新用户的认证
                解决办法:删除匿名用户'root'@'localhosr'和''@'localhost'
            删除用户:
                drop user '用户名'@'IP地址';
            修改用户名:
                update user set user='新用户名' where user='老用户名';
            修改密码:
                set password for '用户名'@'IP地址' = password('新密码');
                可能出现的问题:输入了修改的命令,但是一直提示:
                Can't find any matching row in the user table
                原因:没有及时更新权限(或用户名)
                解决办法:先输入命令:flush privileges;(刷新权限)
    
        2.权限管理
            查看权限:
                show grants for '用户名'@'IP地址';
            授权:
                grant 权限 on 数据库.表 to '用户名'@'IP地址';(all privileges除了grant以外的所有权限)
            取消权限:
                revoke 权限 on 数据库.表 from '用户名'@'IP地址';
            刷新权限:
                flush privileges;
                
        3.数据库操作
            创建数据库:
                create database 数据库名字 default charset utf8;
                (创建数据库X默认编码utf-8)
            删除数据库:
                drop database 数据库名字;
                (删除数据库X)
            修改数据库:
                没有这种操作,硬要写就是----先删除原来的,在创建新的数据库
            查询数据库:
                show databases;
                (显示所有数据库)
            使用数据库:
                use 数据库名字;
         查询当前使用的数据库:
           select database();
    4.数据表操作: 创建表: create table 表名( 列名 类型 是否为空 默认值, (例:name char(12) not null default libai,) 列名 类型 是否为空 自增列, (例:ID int not null auto_increment primary key,)(一个表只有一个自增列,主键:约束(不重复,不为空),加速查找) )engine=innodb default charset=utf8; (引擎和编码格式) 删除表: drop table 表名; 清空表: delete from 表名;(自增列还是接着原来的) truncate table 表名;(自增列从1开始) 修改表: 修改表名: alter table 旧表名 rename 新表名; 添加列: alter table 表名 add 列名 类型; 删除列: alter table 表名 drop column 列名: (drop column:下拉列) 修改列名: alter table 表名 change 原列名 新列名 新类型; 添加主键: alter table 表名 add primary key(列名); 删除主键: alter table 表名 drop primary key; 添加外键: alter table 从表 add constraint foreign key 从表(外键字段) references 主表(主键字段); 删除外键: alter table 表名 drop foreign key 外键名称; 修改默认值: alter table 表名 alter column 列名 set default 新默认值; 删除默认值: alter table 表名 alter column 列名 drop default; 查询所有表名: show tables; 查询创表指令: show create table 表名; 5.数据表内容操作: 插入数据: insert into 表名(列名1,列名2...) values(列值1,列值2...); insert into 表名(列名1,列名2) values(列值1,列值2),(列值1_1,列值2_1);#同时创建多个数据 insert into 表名2(列名1,列名2) select 列名1,列名2 from 表名1; #将表1的数据(列名1,列名2)插入表2 删除数据: delete from 表名; delete from 表名 where 条件; 修改数据: update 表名 set 列名=列值; update 表名 set 列名=列值 where 条件; 查询数据: select * from 表名; select * from 表名 where 条件; select 列名1,列名2, from 表名 where 条件;   

      

    6 .备份和恢复

    1.进入超级管理员

    sudo -s
    

    2.进入mysql目录

    cd mysql所在目录
    

    3.运行mysqldump命令

    mysqldump -uroot -p 数据库名 > 指定数据生成路径/备份文件.sql;
    

      

    恢复

    1.自己创建数据库

    2.恢复数据

    mysql -uroot -p 数据库名  < 备份文件所在路径/备份文件.sql;
    

      

     

  • 相关阅读:
    EventBus
    Date 时间 日期 常用方法函数
    线程 Thread Handler
    MySQL-DoubleWrite
    MySQL各版本优化器变化
    MySQL优化器-条件过滤(condition_fanout_filter)
    PXC集群搭建
    mysql主从不一致--relay_log_recovery设置成0
    MySQL5.7-sql_mode
    根据ibd文件进行数据恢复或导入
  • 原文地址:https://www.cnblogs.com/shuimohei/p/10259425.html
Copyright © 2011-2022 走看看