MySQL(2)数据类型与操作数据表

MySQL数据类型之整型

数据类型
决定数据存储格式,代表不同的信息类型。

整型
这里写图片描述
有符号位:数字最高位01表示正负

MySQL数据类型之浮点型
这里写图片描述
注意M和D,一定M>=D

MySQL数据类型之日期时间型
列类型 存储需求
YEAR 1
TIME 3
DATA 3
DATETIME 8
TIMESSTAMP(时间戳) 4

MySQL数据类型之字符型
这里写图片描述
CHAR 定长
VARCHAR 变长
ENUM ()内多选1
SET ()内多选多

MySQL创建数据表
数据表是数据库最重要组成部分之一,是其他对象的基础。

USE
打开数据路;
USE数据库名称;

SELECT DATABASE();
确定当前打开的数据库是啥

创建数据表
·CREATE TABLE [IF NOT EXISTS] table_name (
column_name data_type,
….
)
举例:
CREATE TABLE tb1(username VARCHAR(20),age TINYINT UNSIGNED,salary FLOAT(8,2) UNSIGNED)

MySQL查看数据表
SHOW TABLES [FROM db_name] [ LIKE ‘pattern’|WHERE expr]
举例:SHOW TABLES FROM mysql;

MySQL查看数据表结构
SHOW COLUMNS FROM tbl_name;
举例:SHOW COLUMNS FROM tb1;

记录的插入与查找
INSERT
插入记录
INSERT [INTO] tbl_name [(col_name, ….)] VALUES(VAL, ….)
举例:INSERT tb1 VALUES (‘TOM’,25,7863.25);
部分插入
INSERT tb1 (username,salary) VALUES (‘John’,4500.69);

记录查找
SELECT
SELECT expr,….. FROM tbl_name
举例 SELECT * FROM tb1;
分析:*是字段的过滤(?)

MySQL空值与非空
·NULL,字段值可以为空
·NOT NULL,字段值禁止为空

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

SHOW COLUMNS FROM tb2;

INSERT tb2 VALUES (‘TOM’,NULL);
可以插入

INSERT tb2 VALUES (NULL,26);
插入错误

MySQL自动编号
AUTO_INCREMENT
·自动编号,且必须与主键组合使用
·默认起始为1,增量为1

举例:CREATE TABLE tb2(id SMALLINT UNSIGNED AUTO_INCREMENT, username VARCHAR(20) NOT NULL);
分析:报错,因为自动编号字段,必须定义为主键,下学习主键

MySQL初涉主键约束
PRIMARY KEY
·主键约束
·每张数据表只能存在一个主键
·主键保证记录的唯一新
·主键自动为NOT NULL;
CREATE TABLE tb3(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL);

INSERT tb3(username) VALUES (‘Tom’);
INSERT tb3(username) VALUES (‘John’);
INSERT tb3(username) VALUES (‘Rose’);
INSERT tb3(username) VALUES (‘Dimitar’);

SELECT * FROM tb3;

AUTO_INCREMENT必须配合主键,主键不一定需要AUTO_INCREMENT
举例:CREATE TABLE tb4(id SMALLINT UNSIGNED PRIMARY KEY, username VARCHAR(30) NOT NULL);

SHOW COLUMNS FROM tb4;

此时主键可以赋值,但不能赋相同值。
举例:INSERT tb4 VALUES (4,’Tom’);
INSERT tb4 VALUES (22,’John’);
SELECT * FROM tb4;
INSERT tb4 VALUES (22,’Rose’);

MySQL初涉唯一约束
UNIQUE KEY
·唯一约束
·唯一约束可以保证记录的唯一性
·位置约束的字段可以为空(NULL)只能一个空值
·每张数据表可以存在多个唯一约束
举例:CREATE TABLE tb5(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL UNIQUE KEY,age TINYINT UNSIGNED);
SHOW COLUMNS FROM tb5;
INSERT tb5(username,age) VALUES (‘Rose’,22);
成功
INSERT tb5(username,age) VALUES (‘Rose’,22);
失败

MySQL初涉默认约束
DEFAULT
·默认值
·当插入记录,若无幅值,则默认值
举例CREATE TABLE tb6(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL UNIQUE KEY, sex ENUM(‘1’,’2’,’3’) DEFAULT ‘3’);
SHOW COLUMNS FROM tb6;
INSERT tb6(username) VALUES (‘Tom’);
SELECT * FROM tb6;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值