MySQL 常见约束和常见数据类型

MySQL 常见约束和常见数据类型

常见约束

/*
含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性

create table 表名(
字段名 字段类型 约束,
字段名 字段类型 列级约束

表级约束

)

分类:

	not null 非空
	unique 唯一
	default 默认,该字段有默认值
	priamry key 主键,主码 唯一,非空
	foreign key 外键 用于限制两个表的关系的
	references
	用于保证该字段的值必须来自于主表的关联列的值
	check 检查约束【mysql不支持,其他都支持】

添加的时机
1.创建表
2.修改表

添加分类:
列级约束:unique,not null,check,(foreign key 没有效果),primary key,default
表级约束:除了非空、默认
*/

一.创建表示添加约束

#1.列级约束

CREATE DATABASE students;
USE students;
CREATE TABLE student(
	id INT PRIMARY KEY,
	NAME VARCHAR(10) NOT NULL,
	gender CHAR(1) CHECK(gender='男' OR gender='女'),
	seat INT UNIQUE,
	age INT DEFAULT 18 
);

CREATE TABLE aa(
	id INT PRIMARY KEY,
	NAME VARCHAR(10) NOT NULL
);
SHOW INDEX FROM student;

#2.修改表时添加约束
/*
1.添加列级约束
alter table 表名 modify column 字段名 字段类型 新约束
2.添加表级约束
alter table 表名 add 约束类型(字段名)
*/

#标识列

/*
又称自增长列
/*
#1.创建表时设置标识列
auto_increment

DROP TABLE IF EXISTS tab
CREATE TABLE tab(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(10)
);

INSERT INTO tab(NAME) VALUES(‘gjy’);
SELECT * FROM tab;

#查询标识列

SHOW VARIABLES LIKE '%auto_increment%';

#设置步长

SET auto_increment_increment=3;

常见的数据类型

/*
数值型:
整型
小数
定点数
浮点数
字符型:
较短的文本:char,varchar
较长的文本:text,blob(较长的二进制数据)
日期型

/
#一、整型
/

分类:
tinyint,smallint,mediumint,int/integer,bigint
字节 1 2 3 4 8

特点:
1.默认为有符号,(unsigned 有符号)
2.如果超出范围,会报out of range 异常,并且插入临界值
3.有默认长度

*/
#1.如何设置无符号和有符号

CREATE TABLE bb(
	t1 INT
	t3 INT(7) ZEROFILL #如果不够 左面0填充
	t2 INT UNSIGNED
);

#二、小数
/*
浮点型:
float
double
定点型:
dec(M,D)
decimal(M,D)
*/

#三、字符型
/*
较短的文本:
char,varchar
较长的文本:
text,blob
enum() 一次只能插入一个
set() 一次可以插入多个
*/

#四、日期型
/*
date
datetime
timestamp
time
year
*/

CREATE TABLE tab_date(
	t1 DATETIME,
	t2 TIMESTAMP
);
INSERT INTO tab_date() VALUES(NOW(),NOW());
SELECT * FROM tab_date;
#查询时区
SHOW VARIABLES LIKE 'time_zone';
#设置时区
SET time_zone='+9:00'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值