MySQL学习笔记(一)

查看或显示数据库

在MySQL中,可以使用 SHOW DATABASES 来查看数据库,具体的格式为:

SHOW DATABASES [ LIKE ‘XX’(数据库名) ] ;

注意:

LIKE从句事可选项,有匹配作用,可以部分匹配也可以完全匹配。

实例:

先创建一个名称为test_db的数据库

mysql> CREATE DATABASE test_db;
Query OK, 1 row affected (0.00 sec)

再使用SHOW DATABASES显示所有权限范围内可查看的数据库

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| test_db            |
| world              |
+--------------------+
7 rows in set (0.00 sec)

那么刚刚创建的数据库就显示出来了。

另外,用%来起到部分匹配的作用,%在词汇前,则查找以该词汇为结尾的数据库名。以此类推不再多言。

MySQL创建数据库

1.最基础的创建语句:CREATE DATABASES;

在基础之上,如若创建了两个名称相同的数据库,就会报错。解决方法是

CREATE DATABASE IF NOT EXISTS <字符集名>;

2.DEFAULT CHARACTER SET <字符集名称>;指定字符集。

3.DEFAULT COLLATE<校对规则名>;

实例:

mysql> CREATE DATABASE IF NOT EXISTS test_db;
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> CREATE DATABASE IF NOT EXISTS test_db_char
    -> DEFAULT CHARACTER SET utf8
    -> DEFAULT COLLATE utf8_chinese_ci;
Query OK, 1 row affected (0.03 sec)

结果如下:

mysql> SHOW CREATE DATABASE test_db_char;
+--------------+-----------------------------------------------------+
| Database     | Create Database                                     |
+--------------+-----------------------------------------------------+
| test_db_char | CREATE DATABASE `test_db_char` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+--------------+-----------------------------------------------------+
1 row in set (0.00 sec)

MySQL修改数据库

mysql> ALTER DATABASE test_db
    -> DEFAULT CHARACTER SET gb2312
    -> DEFAULT COLLATE gb2312_chinese_ci;

ALTER DATABASE用来改变数据库的全局特性。

数据库名称可以省略,此时修改的是默认数据库。

MySQL删除数据库

DROP DATABASE [IF EXISTS]<数据库名>;

IF EXISTS可以避免数据库名称错误或不存在时的问题。

mysql> CREATE DATABASE test_db_del;
Query OK, 1 row affected (0.08 sec)
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| test_db            |
| test_db_char       |
| test_db_del        |
| world              |
+--------------------+
9 rows in set (0.00 sec)
DROP DATABASE IF EXISTS test_db_del;
Query OK, 0 rows affected, 1 warning (0.00 sec)

MySQL选择数据库

在数据库中,当前数据库默认为默认的数据库

使用USE<数据库名>语句可以将选中的数据库设定为当前的数据库来操作

mysql> USE test_db;
Database changed

MySQL数据库注释

单行注释:#

单行注释还可以用-- ,但是与#不同的是,使用--需要在后面加一个空格符才可以作注释作用。

多行注释/* */。

MySQL数据类型

1.整数类型

MySQL的整数类型分为

TINYINT/SMALLINT/MEDIUMINT/INT(INTEGER)/BIGINT

占用的存储空间大小如下图:

类型名称说明存储需求
TINYINT很小的整数1个字节
SMALLINT小的整数2个宇节
MEDIUMINT中等大小的整数3个字节
INT (INTEGHR)普通大小的整数4个字节
BIGINT大整数8个字节

2.浮点数类型

浮点数类型有两种,FLOAT和DOUBLE

两种分别占用4字节和8字节,另外,所有的浮点数都可以使用(M,D)来表示,数据类型是DECIMAL

创建方式为DECIMAL(M,D),其中M代表总宽,D代表小数部分的宽度。

默认是DECIMAL(10,0),对精度要求比较高的时候,使用DECIMAL比较好,也尽量少对浮点数进行比较大小,容易出现问题。

3,日期和时间类型

MySQL中的日期和时间数据类型有如下表所示的几种

类型名称日期格式日期范围存储需求
YEARYYYY1901 ~ 21551 个字节
TIMEHH:MM:SS-838:59:59 ~ 838:59:593 个字节
DATEYYYY-MM-DD1000-01-01 ~ 9999-12-33 个字节
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:598 个字节
TIMESTAMPYYYY-MM-DD HH:MM:SS1980-01-01 00:00:01 UTC ~ 2040-01-19 03:14:07 UTC4 个字节

TIMESTAMP和DATATIME的表示方法相同但是日期的划定域不同。

4.MySQL数据库字符串类型

1.CHAR和VARCHAR

CHAR是长度固定的字符串,占用大小为4字节,宽度最多为255,VARCHAR是长度可变的字符串,在存储时保留字符串的结束符,因此大小为M+1,M为字符串的长度。

2.TEXT类型

TEXT类型分为以下四种:

TINYTEXT/MEDIUMTEXT/TEXT/LONGTEXT

  • TINYTEXT 表示长度为 255(28-1)字符的 TEXT 列。
  • TEXT 表示长度为 65535(216-1)字符的 TEXT 列。
  • MEDIUMTEXT 表示长度为 16777215(224-1)字符的 TEXT 列。
  • LONGTEXT 表示长度为 4294967295 或 4GB(232-1)字符的 TEXT 列

3.ENUM类型

ENUM是一个字符串对象,在取值时,能在指定的枚举列表中获取,并且一次只能取一个,如果创建的对象中有空格,尾部的空格将被删除。

ENUM值在内部用整数表示,列表值所允许的成员从1开始编号,MySQL内部存储的就是这个索引编号

例如,定义 ENUM 类型的列('first','second','third'),该列可以取的值和每个值的索引如下表所示。
 

索引
NULLNULL
''0
’first1
second2
third3

ENUM值按照索引顺序排列,空字符串排在非空字符串之前,null值排在所有其他值之前

4.SET类型

SET类型和ENUM类型类似,区别在于,SET类型的列可以从定义的列值中选择多个字符的联合。

5.二进制类型

BIT类型

BIT类型存储的是位字段值,例如以二进制形式存储数字13,13的二进制形式为1101,需要至少四位的BIT类型,即可定义为BIT(4),大于二进制1111的数字是不能擦汗如BIT(4)类型的字段中的。

BINARY类型和VARBINARY类型

BINARY和VARBINARY类似于CHAR和VARCAR,只不过其中存储的是二进制字节字符串

BINARY的长度是固定的,不足最大长度时,后面用\0补齐,例如定义BINARY(3),插入内容为a,则实际内容是a\0\0,

VARBINARY类型的长度是可变的,长度可以在0到最大值之间,并在占用空间的实际长度后面要+1.

BLOB类型

BLOB是一个二进制对象,用来存储可变储量的数据。

BLOB 类型分为 4 种:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB,它们可容纳值的最大长度不同,如下表所示。
 

数据类型存储范围
TINYBLOB最大长度为255 (28-1)字节
BLOB最大长度为65535 (216-1)字节
MEDIUMBLOB最大长度为16777215 (224-1)字节
LONGBLOB最大长度为4294967295或4GB (231-1)字节
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值