mysql的学习笔记(二)

时间:2023-11-17 09:40:38

1.数据类型,存储的类型。

整型

TINYINT    有符号-128到127   无符号值:0到255                        1字节
SMALLINT   有符号  -32768到32767  0到65535                         2字节
MEDIUMINT  有符号 -8388608到8388607  无符号 0到16777215             3字节
INT        有符号 -2147483648到2147483647 无符号 0到4294967295      4字节
BIGINT     有符号位 -9223372036854775808到9223373036854775807   无符号 0到18446744073709551615  8字节

选择合适的类型存储数据,有利于数据优化。

浮点型

FLOAT
DOUBLE

日期类型

YEAR                 1
TIME                 3
DATE                 3
DATETIME             8
TIMESTAMP            4

字符型

CHAR                 0-255    字节
VARCHAR              0-65535
TINYTEXT             0-255
MEDIUMTEXT           0-167772150
LONGTEXT             0-4294967295
ENUM('value1','value2'..)              65535

2.数据表,是数据库最重要的组成部分之一

查看选择的数据库

SELECT DATABASE();

创建数据表,UNSGINED无符号

CREATE TABLE IF NOT EXISTS tb1(
    username VARCHAR(20),
    age TINYINT UNSIGNED,
    salary FLOAT(9,2) UNSIGNED
);

查看数据表列表

SHOW TABLES FROM t1;

查看数据表结构

SHOW COLUMNS FROM tb1;

mysql的学习笔记(二)

3.INSERT向数据表写入记录

INSERT tb1(username,age,salary) VALUES('张三',25,8000.5);INSERT tb1(username,salary) VALUES('李四',6222.5);

4.记录查找

SELECT * FROM tb1;

*  号是字段的过滤

5.空值与非空

NULL 字段值可以为空

NOT NULL  字段值禁止为空

CREATE TABLE tb2(
  username VARCHAR(20) NOT NULL,
  age TINYINT UNSIGNED NULL
);

为非空,插入的值不能为NULL

6.自动编号,数据唯一性

默认情况下,起始值为1,每次的增量为1.

主键约束,每张数据表只能存在一个主键,保证唯一性,主键自动为NOT NULL

CREATE TABLE tb3(
   id SMALLINT UNSIGNED AUTO_INCREMENT KEY,
   username VARCHAR(30) NOT NULL
);

插入记录后,查看就可以看到id递增

mysql的学习笔记(二)

7.唯一约束 UNIQUE KEY

CREATE TABLE tb4(
  id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(20) NOT NULL UNIQUE KEY,
  age TINYINT UNSIGNED
);

当插入同样username自动时

mysql的学习笔记(二)

8.默认约束    当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

demo

CREATE TABLE tb5(
 id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 username VARCHAR(20) NOT NULL UNIQUE KEY,
 sex ENUM('1','2','3') DEFAULT '3'
);

写入记录,sex没有赋值默认为3

mysql的学习笔记(二)

mysql的学习笔记(二)

持续更新中。。。