• MySQL基础命令


    查看当前所在库;

    select database();

    创建gamedb库;

    create database gamedb;

    切换到gamedb库;

    use gamedb;

    查看gamedb库里的表;

    show tables;

    创建gamedbinfo表;

    create table gamedb.gamedbinfo(name char(10),age int);

    use gamedb;

    show tables;

    查看gamedbinfo表结构;

    desc gamedb.gamedbinfo; (desc后跟绝对路径,如果查询当前库里的表结构,则可以使用相对路径,如:desc gamedbinfo;)

    查看 gamedb库里gamedbinfo表所有内容;

    select * from gamedb.gamedbinfo;

    插入表记录;

    insert into gamedb.gamedbinfo values("Tom",22),("Maria",33);

    修改表记录;

    update gamedb.gamedbinfo set age=19 where name="Tom"; (修改Tom的记录)
    update gamedb.gamedbinfo set age=19 (修改所有记录)

    查看表所有内容;

    select * from gamedb.gamedbinfo;

    删除表记录;

    delete from gamedb.gamedbinfo where name="Tom"; (删除Tom的记录)

    delete from gamedb.gamedbinfo; (删除表中所有记录)

    删除表;

    drop table gamedb.gamedbinfo;

    删除库;

    drop database gamedb;

    添加字段;

    alter table T4 add email varchar(30) default "stu@tedu.cn";

    alter table T4 add tel char(11);

    alter table T4 add stu_num char(9) first;

    alter table T4 add class char(7) default "nsd1808" after name;

    修改字段类型,约束条件

    alter table T4 modify stu_num varchar(10);

    alter table T4 modify age tinyint default 25;

    alter table T4 modify age tinyint default 25 after name;

    alter table T4 modify likes set('eat','sleep','game','zhang','it','book') null default "it,book";

    修改字段名;

    alter table T4 change email mail varchar(30) default "stu@tedu.cn";

    删除字段:

    alter table T4 drop mail;

    修改表名:

    alter table T4 rename stutab;

    创建index索引:

    create index name on T3(name);

    desc T3;

    show index from T3;

    drop index name on T3;

    create table T4 (
    name char(10) not null,
    age tinyint not null default 25,
    likes set("eat","sleep","game","zhang")
    default "eat,sleep",
    index(name),index(age)
    );

    desc T4;

    show index from T4;

    创建主键(primary key)

    方法一:
    create table T5(
    name char(5),
    class char(7),
    stu_num char(9),
    primary key(stu_num)
    );

    方法二:
    create table T6(
    name char(5),
    class char(7),
    stu_num char(9) primary key
    );

    创建复合主键:

    create table T6(
    clientip char(15),
    serport smallint unsigned,
    status enum("allow","deny"),
    primary key(clientip,serport)
    );

    删除主键:

    alter table T6 drop primary key;

    在已有表里创建主键:

    alter table T6 add primary key(serport,clientip);

    与 AUTO_INCREMENT 连用 让字段的值自动增长:
    数值类型
    必须是primary key

    create table T7(
    id int primary key auto_increment,
    name char(10),
    age tinyint
    );

    删除id字段自增长功能:

    alter table T7 modify id int not null;

    创建外键:

    create table yg(
    yg_id int primary key auto_increment,
    name char(10)
    )engine=innodb;

    create table gz(
    gz_id int,
    pay float(7,2)
    foreign key(gz_id) references yg(yg_id)
    on uptade cascade on delete cascade
    )engine=innodb;

    查看建表的过程:

    show create table gz;

    同步更新:

    update yg set yg_id=8 where yg_id=2;

    同步删除:

    delete from yg where yg_id=1;

    设置默认存储引擎:
    修改/etc/my.cnf配置文件
    default-storage-engine=存储引擎名称

    vim /etc/my.cnf
    [mysqld]
    default-storage-engine=myisam

    查询user表里name字段的个数:

    select count(name) from user;

    查询user表里name字段当其shell不等于/bin/bash的个数:

    select count(name) from user where shell!="/bin/bash";

    查询user表里,最小uid号码:

    select min(uid) from user;

    查询user表里,最小uid号码,当uid号<1000

    select min(uid) from user where uid<=1000;

    查询结果排序:

    select name,uid from user order by uid; (升序)
    select name,uid from user order by uid desc; (降序)

    查询结果分组:

    select gid from user group by gid;
    select shell from user group by shell;
    select shell from user where uid>10 and uid<=2000 group by shell;

    数据完全备份:mysqldump

    mkdir /mydata
    mysqldump -uroot -p123456 -A > /mydata/alldb.sql

    备份db4库数据:

    mysqldump -uroot -p123456 db4 > /mydata/db4.sql

    备份db4库里的t2表:

    mysqldump -uroot -p123456 db4 t2 > /mydata/db4_t2.sql

    同时备份多个库:

    mysqldump -uroot -p123456 -B db3 db2 > /mydata/twodb.sql

    完全恢复数据()删除对应的备份数据,然后使用备份文件恢复数据:

    mysql -uroot -p123456 db4 < /mydata/db4_t2.sql
    mysql -uroot -p123456 db4 < /mydata/db4.sql

    启用binlog日志,进行实时增量备份:

    binlog日志介绍?

    启用日志文件:

    vim /etc/my.cnf
    [mysqld]
    #log_bin
    log_bin=/logdir/plj
    server_id=50
    binlog_format="mixed"
    :wq

    mkdir /logdir
    chown mysql /logdir
    systemctl restart mysqld
    ls /logdir/plj.*

    手动生成新的日志文件几种方法:

    1.重启mysql服务
    2.执行SQL操作,登陆mysql后执行命令: flush logs;
    3.mysqldump --flush-logs
    4.mysql -uroot -p123456 -e 'flush logs'

    查看日志文件内容,查看日志文件记录新数据的范围,并记录偏移量的范围:

    mysqlbinlog /logdir/plj.000001

    执行binlog日志记录的sql命令恢复数据:

    方法一:
    mysqlbinlog --start-position=958 --stop-position=1153 /logdir/plj.000001

    方法二:
    mysqlbinlog --start-datatime="2018/11/21 15:26:31" --stop-datatime="2018/11/21 15:31:16" /logdir/plj.000001

    使用完全备份文件恢复数据:

    mysql -uroot -p123456 db4 < /root/t2.sql

  • 相关阅读:
    学习总结------用JDBC连接MySQL
    MySQL基础语法------增删改查
    2、一、Introduction(入门):1、Application Fundamentals(应用程序基础)
    1、一、Introduction(入门): 0、Introduction to Android(引进到Android)
    小算法:合并两个有序数组,合并之后仍然有序
    小算法:求一个数的乘方
    标准SQL资料整理
    Android 4.0以上BlurMaskFilter效果无效
    Android反编译工具介绍与简单实用方法
    数据结构和算法笔记1 算法的定义,特性,设计要求
  • 原文地址:https://www.cnblogs.com/jiang-bokeyuan/p/11703455.html
Copyright © 2020-2023  润新知