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;
    

      

     

  • 相关阅读:
    HDU 4539郑厂长系列故事――排兵布阵(状压DP)
    HDU 2196Computer(树形DP)
    HDU 4284Travel(状压DP)
    HDU 1520Anniversary party(树型DP)
    HDU 3920Clear All of Them I(状压DP)
    HDU 3853LOOPS(简单概率DP)
    UVA 11983 Weird Advertisement(线段树求矩形并的面积)
    POJ 2886Who Gets the Most Candies?(线段树)
    POJ 2828Buy Tickets
    HDU 1394Minimum Inversion Number(线段树)
  • 原文地址:https://www.cnblogs.com/shuimohei/p/10259425.html
Copyright © 2011-2022 走看看