MySQL学习笔记(二)

1.操作数据库(了解)

操作数据库—>操作数据库中的表—>操作数据库中表的数据。

创建、使用和删除数据库。

MySQL关键字不区分大小写。

1.创建数据库

1
CREATE DATABASE (IF NOT EXISTS) xxx; --注意()表示选用,不是命令的一部分,如果不存在就创建

2.删除数据库

1
DROP DATABASE (IF EXISTS) hello

3.使用数据库

1
2
USE `school` --如果你的表名或字段名是一个特殊词语,加上``修饰
--它是为了区分MYSQL的保留字与普通字符而引入的符号,比如使用user容易与sql关键字混淆

4.查看所有数据库

1
SHOW DATABASES; --记得加S

以上四条命令对照SQLyog的可视化操作学习。(工具选项卡—>历史记录)

不会某个命令时,在SQLyog执行可视化操作,然后在历史记录中查看对应的语句。

2.数据库的列类型

参考教程:https://www.w3cschool.cn/mysql/mysql-data-types.html

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

数值类型

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节,较小 (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 字节,常用 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节,类似long (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 字节 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.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的值 小数值

日期和时间类型

java.util.Date

类型 大小 (字节) 范围 格式 用途
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,时间戳 4 1970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038-1-19 03:14:07 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

字符串类型

类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-65535 字节 变长字符串常用
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字节 中等长度文本数据
LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

null

没有值,未知,注意不要使用它运算

3.数据库的字段属性(重点)

Unsigned:

  • 无符号整数
  • 声明该列不能为负数

Zerofill:

  • 零填充
  • 不足的位数用0填充,int(3),5—>005

自增:

  • 通常理解为自增,自动在上一条记录的基础上+1(默认)
  • 通常用来设计唯一的主键,必须是整数类型

  • 可以自定义主键自增的起始值和步长

非空 not null:

  • 设置为not null时,不赋值就会报错!
  • 不填写时默认为NULL

默认:

  • 设置默认值,如果不指定该列的值,设定为默认值

拓展:听听就好

1
2
3
4
5
6
7
/* 每个表都必须存在以下五个字段!
id 主键
`version` 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
*/

现在只作为了解,以后做项目会用到!

坚持原创技术分享,您的支持将鼓励我继续创作!