MariaDB(MySQL)创建、删除、选择及数据类型使用详解


一、MariaDB简介(MySQL简介略过)

        MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

        MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT(PBXT) 和 FederatedX存储引擎。

 

二、MariaDB的创建、删除、选择及数据类型使用详解(注:本文演示为root权限)

(1)MariaDB创建数据库

    1.1:使用mysqladmin创建数据库          

[root@test01 10.19.166.166 ~ ] 

# mysqladmin -u root -p create testdb1

Enter password:   // 此处填写MariaDB数据库的密码

 

[root@test01 10.19.166.166 ~ ] 

# mysql

 

MariaDB [(none)]> show databases;

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

| Database           |

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

| hellodb            |

| information_schema |

| mydb               |

| mysql              |

| performance_schema |

| test               |

| testdb             |

| testdb1            |<---创建的好的库

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

   1.2:登录MariaDB库创建

MariaDB [(none)]> create database testdb2;

Query OK, 1 row affected (0.00 sec)

 

MariaDB [(none)]> show databases;

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

| Database           |

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

| hellodb            |

| information_schema |

| mydb               |

| mysql              |

| performance_schema |

| test               |

| testdb             |

| testdb1            |

| testdb2            |<---创建好的库

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

(2)MariaDB删除数据库

    2.1:使用mysqladmin删除数据库

[root@test01 10.19.166.166 ~ ] 

# mysqladmin -u root -p drop testdb1

Enter password: //输入数据库密码

 

//执行完上面的删除命令后,会出现一个提示框,提示是否确认删除此数据库

Dropping the database is potentially a very bad thing to do.

Any data stored in the database will be destroyed.

 

Do you really want to drop the ‘testdb1‘ database [y/N] y   //删除

Database "testdb1" dropped

   登录查看

MariaDB [(none)]> show databases; //确认testdb1已被删除 

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

| Database           |

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

| hellodb            |

| information_schema |

| mydb               |

| mysql              |

| performance_schema |

| test               |

| testdb             |

| testdb2            |

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

  2.2:登录MariaDB库删除

MariaDB [(none)]> CREATETABLE t1(
    id int not null,
    name char(20)
);
Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> show databases; //确认testdb2已被删除

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

| Database           |

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

| hellodb            |

| information_schema |

| mydb               |

| mysql              |

| performance_schema |

| test               |

| testdb             |

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

(3)MariaDB选择数据库,查看选择库下面的所有表

MariaDB [(none)]> show databases;  //查看所有库

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

| Database           |

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

| hellodb            |

| information_schema |

| mydb               |

| mysql              |

| performance_schema |

| test               |

| testdb             |

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

7 rows in set (0.00 sec)

 

MariaDB [(none)]> use mydb //选择mydb数据库 

Database changed   

MariaDB [mydb]> show tables;   //查看mydb数据库下面所有表信息

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

| Tables_in_mydb |

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

| ssc            |

| t1             |

| tb2            |

| tb4            |

| tb5            |

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

5 rows in set (0.00 sec)

(4)MariaDB数据类型

MariaDB中定义的数据字段的类型对数据库优化非常重要

MariaDB支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符类型)

  4.1 数值型

类型

大小

范围(有符号)

范围(无符号)

用途

TINYINT

1字节

-128,127

0,255

小整数值

SMALLINT

2字节

-32 768,32767

0,65 535

大整数值

MEDIUMINT

3 字节

(-8 388 6088 388 607)

(016 777 215)

大整数值

INTINTEGER

4 字节

(-2 147 483 6482 147 483 647)

(04 294 967 295)

大整数值

BIGINT

8 字节

(-9 233 372 036 854 775 8089 223 372 036 854 775 807)

(018 446 744 073 709 551 615)

极大整数值

FLOAT

4 字节

(-3.402 823 466 E+381.175 494 351 E-38)0(1.175 494 351 E-383.402 823 466 351 E+38)

0(1.175 494 351 E-383.402 823 466 E+38)

单精度
浮点数值

DOUBLE

8 字节

(1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)

0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)

双精度
浮点数值

DECIMAL

对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2

依赖于M和D的值

依赖于M和D的值

小数值

  

    4.2 日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,将在后面描述。

类型

大小(字节)

范围

格式

用途

DATE

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3

‘-838:59:59‘/‘838:59:59‘

HH:MM:SS

时间值或持续时间

YEAR

1

1901/2155

YYYY

年份值

DATETIME

8

1000-01-01 00:00:00/9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

混合日期和时间值

TIMESTAMP

8

1970-01-01 00:00:00/2037 年某时

YYYYMMDD HHMMSS

混合日期和时间值,时间戳

   

    4.3 字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型

大小

用途

 

CHAR

0-255字节

定长字符串

VARCHAR

0-255字节

变长字符串

TINYBLOB

0-255字节

不超过 255 个字符的二进制字符串

TINYTEXT

0-255字节

短文本字符串

BLOB

0-65 535字节

二进制形式的长文本数据

TEXT

0-65 535字节

长文本数据

MEDIUMBLOB

0-16 777 215字节

二进制形式的中等长度文本数据

MEDIUMTEXT

0-16 777 215字节

中等长度文本数据

LOGNGBLOB

0-4 294 967 295字节

二进制形式的极大文本数据

LONGTEXT

0-4 294 967 295字节

极大文本数据

CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

 

BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。

 

有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值