• Linux安装MySQL及基本操作(Centos)


    安装:

    系统:CentOS-7-x86_64-DVD-1810.iso
    安装命令:
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum install mysql
    -server
    修改权限:
    sudo chown -R root /var/lib/mysql
    重启服务器:
    service mysqld restart

    登入登出

    首次登入(无密码登入):
    首次登入进行密码的修改(密码设置)
    mysql -u root

    修改密码:
    1.进入MySQL数据表:

    use mysql
    2.修改root密码(更新表)
    update user set password=password('proot') where user='root';
    3.数据刷新
    flush privileges;
    正常登入:
    参数为:-u用户名 -p密码
    mysql -uroot -pproot
    登出:
    exit

    查询版本信息

    select version();

    用户及权限

    进入mysql数据库:
    use mysql
    创建用户:
    将数据库dongdb的所有表的所有权限赋予个新建用户:账号为root2密码为proot2的用户
    centos上需要再建立一个localhost用户
    grant all on dongdb.* to 'root2'@'%' identified by 'proot2';
    查询所有用户:
    得到所有用户的用户名和网络权限  
    select distinct concat('DongUser: ',user,'''@''',host) AS query FROM mysql.user;
    删除用户:

    通过用户名和网络权限两个条件进行用户删除

    drop user 用户名@'%';
    drop user 用户名@localhost;

    数据库基本操作

    查看数据库:
    查看当前用户可操作的所有数据库名
    show databases;
    进入某个数据库:
    use 数据库名;
    查看某个数据库里的所有表名:
    show tables;
    创建数据库
    创建dongdb数据库并设置编码集为utf8,编码集也可为gbk
    create database dongdb charset utf8;
    查看数据库dongdb编码集:
    show create database dongdb;
    删除数据库:
    drop database 数据库名;

    数据表基本查找

    先进入需要操作的数据库,进行以下内容
    创建数据表:
    创建tb_dong数据表,其中auto_increment为设置id字段自增,primary key为设置主键字段
    mysql> create table tb_dong(
        -> id int not null auto_increment,
        -> name char(10) not null,
        -> user char(11),
        -> primary key(id));
    查看创建表的SQL语句:
    show create table tb_dong2;
    查看表结构:
    查看tb_dong数据表的表结构
    desc tb_dong;
    添加字段:
    tb_dong表添加sex字段,并设置条件为内容只能为M或F且值不能为空
    alter table tb_dong add sex enum("M","F") not null
    设置字段默认值,会更改原表数据
    alter table tb_dong add otherx char(11) default "dongdong";
    修改字段数据条件:
    alter table tb_dong modify otherx char(13) not null;
    修改字段名及数据条件:
    将字段名otherx修改为otherxxx
    alter table tb_dong change otherx otherxxx char(13) default "dong";
    删除字段:
    删除tb_dong表中的user字段
    alter table tb_dong drop user;
    添加外键:
    在需要添加外键的表需要先建立存放外键的字段
    在表更改数据时会检查外键值是否存在,不存在则不能更改,被链接的外键表也不能删除已经存在真正存在外键关系的行,除非外键关系的行被添加外键的表删除。
    其中tb_dong2和dong1_id为需要添加的外键的表名和存放外键的字段名,dong2fk为外键名,可任意取值;tb_dong和id为链接的外键表和字段。
    alter table tb_dong2 add foreign key dong2fk(dong1_id) references tb_dong(id);
    删除外键:
    先查看查看创建表的SQL语句,然后更加里面的外键名进行外键删除

    alter table tb_dong2 drop foreign key tb_dong2_ibfk_1;
    索引:
    提高查询速度,与查询字段建立连接,默认表的主键就已经建立了索引
    查询:
    show index from tb_dong;
    创建:
    给表tb_dong的name字段添加索引,其中dongind为索引的名称,任意取名,10为字段的长度
    create index dongind on tb_dong(name(10));
    删除:
    drop index dongind on tb_dong;

    数据增删改查

    插入数据

    insert into tb_dong(name,sex) values("dongxiao","M");

     更新数据

    update tb_dong set name="xiaoxiao",sex="F" where id= 1;
    删除数据:
    delete from tb_dong where id= 2;
    查询所有数据:
    select * from tb_dong;
    条件查询:
    其中order by为查询结果排序,asc为升序,desc为降序
    select id,sex from tb_dong where sex="F" order by id desc;
    分组统计:
    select sex,count(*) as sexnum  from tb_dong group by sex;
    刷新数据:
    数据表操作完毕后,及时刷新数据,提高数据的实时性
    flush privileges;
    事物的使用:
    实现操作的成批处理,事物错误回退必须手动执行rollback,即使在系列操作中出现语法错误,依然不影响事物正确提交
    开始事物:
    begin;
    系列操作:
    可以进行增删改查的系列操作,每一步操作都会立即返回操作结果,但此时增删改的结果并未正真存入数据库中
    insert into tb_dong values(7,"dongxiao7","F");
    ....
    手动错误回退:
    rollback;
    提交事物:
    commit;
  • 相关阅读:
    【HDU 4305】Lightning(生成树计数)
    【HDU 1150】Machine Schedule(二分图匹配)
    【HDU 2063】过山车(二分图匹配)
    透过Nim游戏浅谈博弈
    [SCOI2010]字符串
    [SCOI2010]传送带[三分]
    [SCOI2010]序列操作[分块or线段树]
    HDU 5306 Gorgeous Sequence[线段树区间最值操作]
    1455: 罗马游戏[左偏树or可并堆]
    Codevs 5914 [SXOI2016]最大值
  • 原文地址:https://www.cnblogs.com/dongxiaodong/p/10470511.html
Copyright © 2020-2023  润新知