MySQL基本操作

Mariadb 官方文档

数据库连接

Debian9 初始默认连接,无密码

root用户:mysql -u root -p

创建数据库相关

查看当前使用的数据库

  1. SHOW DATABASE();
  2. SHOW TABLES;第一行为Tables_in_XX;
  3. STATUS;

查看数据库

  1. 显示所有数据库

SHOW DATABASES; 或者SHOW SCHEMAS;

  1. 显示数据库创建选项

SHOW CREATE {DATABASE | SCHEMA} db_name;

  • SHOW CREATE DATABASE 引用服务系统变量sql_quote_show_create中的数据库名值。

创建数据库

CREATE [OR REPLACE] {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification]
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name |
[DEFAULT] COLLATE [=] collation_name

REPLACE like this(10.1.3+):

DROP DATABASE IF EXISTS db_name;
CREATE DATABASE db_name ...;

删除数据库

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;

  • 需要删除权限,另删除数据库的同时不会删除用户权限

修改数据库

ALTER {DATABASE | SCHEMA} [db_name] alter_specification
ALTER {DATABASE | SCHEMA} db_name UPGRADE DATA DIRECTORY NAME
alter_specification:
[DEFAULT] CHARACTER SET [=] charset_name |
[DEFAULT] COLLATE [=] collation_name

修改数据库特性,数据库特性存于数据库目录db.opt文件
CHARACTER COLLATION关系
查看字符集设置:

SHOW CHARACTER SET;
mariadb 默认字符集:latin1

  • Server等级修改
    character_set_server 系统变量用于改变server默认字符集

    SET character_set_server = ' ';

  • Database等级修改

    CREATE / ALTER DATABASE db_name DEFAULT CHARACTER SET = ' ';
    查看各个数据库的默认字符集设置:
    SELECT * FROM INFORMATION_SCHEMA.SCHEMATA;

  • Table等级修改
    创建时设置:

    CREATE TABLE english_names (id INT, name VARCHAR(40))
    CHARACTER SET 'utf8'
    COLLATE 'utf8_icelandic_ci';

    修改表:

    ALTER TABLE table_name
    CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];

  • Column等级修改

    CREATE TABLE european_names (
    croatian_names VARCHAR(40) COLLATE 'cp1250_croatian_ci',
    greek_names VARCHAR(40) CHARACTER SET 'greek');

查看字符比对设置:

SHOW COLLATION;
mariadb 默认collation为latin1_swedish_ci

  • SET collation_server = ' ';

修改默认字符集或者比对设置不会修改存储过程和存储函数,需要丢弃重新创建;
当修改默认字符集,如果未制定对比,修改后字符集默认的比对设置将会启用;

posted @ 2017-11-06 23:19  冬天之歌  阅读(188)  评论(0编辑  收藏  举报