mysql基础之mariadb库管理和表管理语句

蓝咒 提交于 2019-11-29 00:46:15

一、数据库管理语句

1Syntax:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

    [create_specification] ...

create_specification:

    [DEFAULT] CHARACTER SET [=] charset_name

  | [DEFAULT] COLLATE [=] collation_name

1)在其他关系型数据库中,databaseschema是有区别的,但是在mysql5.0.2以后,我们在创建数据库时可以不加区分的使用databaseschema,我们可以将create schema理解为create database的代名词。

2if not exists 表示在对应的数据库不存在的时候才会创建,if not exists被中括号括起来,表示此项为可选,建议在sql脚本中使用create命令创建数据库时加入此项,以免对应名称的数据库已经存在导致sql脚本终止。

3create_specification 表示我们可以在创建数据库时指定对应的数据库规范。

4)我们可以在创建数据库时指定数据库的字符集,使用character set对应字符集名称即可指定使用什么字符集,如果使用了default关键字,那么这个数据库中创建的所有表默认都会继承这个数据库的字符集,default为可选选项。

5)我们可以在创建数据库时指定数据库的排序规则;同一种字符集下可能有多种排序规则,但是一种排序规则只能对应于一种字符集。

2、创建数据库

1)创建名为test1的数据库

MariaDB [(none)]> create database test1;

2)如果名为test2的数据库不存在,则创建

MariaDB [(none)]> create database if not exists test2;

3)如果名为test1的数据库不存在,则创建,并且设置其字符集为utf8

MariaDB [mysql]> create database test3 character set utf8;

MariaDB [(none)]> create database if not exists test1 default character set utf8;

3、查看数据库

1)列出所有已存在的数据库(查看所有数据库)

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| help               |

| information_schema |

| mysql              |

| performance_schema |

| ren                |

| test1              |

| test2              |

| yan                |

+--------------------+

2)列出创建对应数据库的sql语句(可以看到对应的字符集)(查看状态)

MariaDB [(none)]> show create database test1;

3)列出所有可用的字符集

MariaDB [(none)]> show character set;

4)查看排序方式

MariaDB [(none)]> show collation;

4、进入数据库(使用数据库)

MariaDB [(none)]> use mysql;

查看当前数据库与当前连接的概要信息:

 

5、修改数据库

修改数据库的基本语法:

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

修改数据库就是修改数据库的字符集,或者修改字符集的排序规则

1)查看数据库的字符集:

MariaDB [mysql]> show variables like 'character%';

2)修改数据库的字符集:

MariaDB [mysql]> alter database test1 character set utf8;

3)修改数据库的字符集,并设置为默认字符集,数据库中的表都会继承此字符集

MariaDB [mysql]> alter database test1 default character set utf8;

6、删除数据库(注意:删除操作无法恢复)

删除数据库的基本语法:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

例子:

MariaDB [mysql]> drop database if exists test3;

MariaDB [mysql]> drop database test3;

二、表管理语句

1、查看表

1)查看当前数据库上的所有表:

MariaDB [ren]> show tables;

2)查看当前数据库中所有表的具体属性信息:

MariaDB [ren]> show table status\G;   #\G表示垂直显示

3)查看当前数据库中的某张表的具体属性信息,可以使用like匹配表名称:

MariaDB [ren]> show table status like 'students'\G;

或者使用通配符:

MariaDB [ren]> show table status where name like '%stu%'\G;

4)查看表的结构(字段、类型)describe

MariaDB [ren]> desc students;

5)查看某张表被创建时对应的sql语句:

MariaDB [ren]> show create table students\G;

2、创建表

创建一个新表的基本语法格式:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

    (create_definition,...)

    [table_options]

    [partition_options]

 

3、删除表

删除表的语句如下:

MariaDB [ren]> drop table students;

MariaDB [ren]> drop table if exists classes,students;

可以删除指定的单张表,也可以一次删除多张表,表之间用逗号隔开;

删除表的做法比较危险,如果不是确定要删而且必须要删,请勿随意删除,此处没有回收站,数据无价。

4、修改表

如果在表中还没有任何数据时,我们可以相对轻松的修改表结构,但是如果表中已经存在了很多数据,那么我们应该充分的考虑修改表结构以后给我们带来的麻烦。

修改表时,往往是添加、删除、修改表中的字段、索引、约束等。

修改表中的基本语法:

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name

    [alter_specification [, alter_specification] ...]

    [partition_options]

1)修改表名、重命名表

MariaDB [ren]> alter table new rename as test;

2)添加字段(无任何属性)

MariaDB [ren]> alter table test add column id int;column可省)

MariaDB [ren]> alter table test add id int;

3)添加字段,同时为添加的字段设定相应的约束

MariaDB [ren]> alter table test add age int not null default 0;

4)为表添加字段,同时指定新添加的字段在表中的位置

MariaDB [ren]> alter table test add brith datetime first;

将新添加的brith字段设置为表中的第一个字段

MariaDB [ren]> alter table test add high int after name;

将新添加的high字段添加到name字段的后面

5)删除字段

MariaDB [ren]> alter table test drop brith;

6)修改字段

修改字段数据类型可以使用两种语法,modifychange

MariaDB [ren]> alter table test modify id tinyint;

MariaDB [ren]> alter table test change age age char(20);       #字段名需写两次

7)重命名字段

MariaDB [ren]> alter table test change class home char(20);

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!