MySQL数据库常用命令

MySQL数据库常用命令

创建数据库:
    create database +(名称);

删除数据库数据库:
    drop database +(名称);
显示数据表:
    show tables; 
创建表:
    create table +表名;
删除表:
    drop table +表名;

重设MySQL密码方法:
    mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    mysql -u root mysql
    UPDATE user SET password=''??WHERE User='root' AND Host='localhost';
    FLUSH PRIVILEGES;
    quit;
    mysqladmin -u root password '123456‘
    pgrep -l mysqld_safe ,查到pid再kill -9 pid
    mysql -u root -p
    
记住密码的情况下可以用下面方法修改密码:
        update user set password=password('新密码') where user='用户名';(在mysql数据库里更改普通用户            密    码),更改之后刷新权限:flush privileges;
        也可以使用set更改用户密码:set  password=password('新密码');

password()函数具有加密功能
(更改数据库编码方式):
            alter database 数据库名称 default character set 编码方式 collate 编码方式_bin;
(修改数据表名称):
            alter table 旧名称 rename to 新名称;
(修改字段名):
            alter table 表名 change 旧字段名 新字段名 新数据类型;
(修改字段数据类型):
            alter table 表名 modify 字段名 数据类型;
            alter table 表名 add 新字段名 数据类型;
(删除字段名):
            alter table 表名 drop 字段名;

在数据表字段尾数加auto_increment,可以实现自动递增。

修改数据库编码
    vim /etc/my.cnf
    添加:
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    character-set-server=utf8
    或者直接输入:SET character_set_server = utf8;

    也可以在创建数据表时在后面指定字符集:ENGINE = MyISAM DEFAULT CHARSET UTF8;
    Mysql数据库默认使用的引擎是MyISAM,而MyISAM引擎不支持建外键,所以将数据库默认引擎改为                   InnoDB。

insert 语句可以不指定字段名添加数据
IN关键字可以查询在集合内的数据,NOT IN则查询不在集合内的数据
between and 关键字用于查询指定范围内的数据,加 NOT则相反。
使用 IS NULL 查询字段是否为空
distinct用于过滤查询的重复数据
修改表字符集 :
    alter table 表名 convert to character set utf8;
数据备份:

    mysqldump -uroot -p123456   chapter08>备份路径+备份名称后缀名为sql(备份单个数据库)

       mysqldump -uroot -p123456   【--database(此参数可以备份多个数据库)】+要备份的多个数据库>备份           路 径+备份名称后缀名为sql(备份多个数据库)

        mysqldump -uroot -p123456   --all-databases >备份路径+备份名称后缀名为sql(备份所有数据库)

        数据库不能还原,只能还原数据库里的数据,数据库被删除后,需要新建数据库,然后才能还原里面的数                据。

        mysql -u用户名 -p密码   要还原的数据库 < 已备份的数据库路径+备份名称后缀名为sql(备份单个数据库)

(用于创建用户密码):
identified by '密码';
使用insert语句创建的用户,需要使用flush privileges刷新权限才可以登陆数据库。

grant insert,select on *.* to 'user4'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;(创建用户并且赋予对所有数据库具有查询,增加以及对其他用户具有赋予相应权限的功能)
(收回了添加权限):
REVOKE语句可以收回权限比如 revoke insert on *.* from 'user5'@'localhost';
(收回用户所有权限):
revoke all privileges,grant option from 'user6'@'localhost';
数据库起始状态的设定信息是不安全的,任何用户都可以登陆而不需要输密码,所以我们需要作以下设定:

mysql_secure_installation                             安全初始化
Enter current password for root (enter for none):   刚下载的mariadb超户是没有密码的,且默认登陆的用户就是超户,所以直接回车
Set root password? [Y/n]                            是否为超户设置密码
New password:                                          输入你设置的密码
Re-enter new password:                              再次输入你设置的密码
Remove anonymous users? [Y/n]                       是否移走匿名用户  
Disallow root login remotely? [Y/n]                 不允许超户远程登陆
Remove test database and access to it? [Y/n]        删掉测试的数据库
Reload privilege tables now? [Y/n]                  对数据库刷新,让所有的数据同步

MySQL引擎功能对比:

在这里插入图片描述

posted @ 2022-02-13 12:52  黑马金牌编程  阅读(302)  评论(0)    收藏  举报