3 日期类型/字符类型/枚举类型/集合类型/约束条件

create table student(
    id int,
    name char(6),
    born_year year,
    birth_date date,
    class_time time,
    reg_time datetime
);

insert into student values
(1,‘eddie‘,now(),now(),now(),now());

字符类型

1 char: 定长

2 varchar: 变长

#宽度指的是字符的个数

create table t1(name char(5));

create table t2(name varchar(5));

insert into t1 values(‘李杰 ‘);

insert into t2 values(‘李杰‘);

select char_length(name) from t1;

select char_length(name) from t2;

枚举类型/集合类型

create table consumer(
    id int,
    name char(16),
    sex enum(‘male‘,‘female‘,‘other‘),
    level enum(‘vip1‘,‘vip2‘,‘vip3‘),
    hobbies set(‘play‘,‘music‘,‘read‘,‘run‘)
);

insert into consumer values
(1,‘eddie‘,‘male‘,‘vip2‘,‘music,read‘);

约束条件not null 和 default

create table t15(
    id int(11) unsigned zerofill
);

create table t16(
    id int,
    name char(10),
    sex enum(‘male‘,‘female‘) not null default ‘male‘
);

insert into t16(id, name) values(1,‘eddie‘);

  

unique key

create table department(
    id int unique,
    name char(10) unique
);

insert into department values
(1,‘IT‘),
(2,‘SALE‘);

  

联合唯一

create table services(
    id int,
    ip char(15),
    port int,
    unique(id),
    unique(ip,port)
);

insert into services values
(1,‘192.168.1.10‘,80),
(2,‘192.168.1.10‘,81),
(3,‘192.168.1.13‘,80);

primary key

约束: not null unique

存储引擎(innodb): 对于innodb存储引擎来说,一张表内必须有一个主键

单列主键

create table t18(
    id int not null unique,
    name char(10)
);

复合主键

create table t19(
    ip char(10),
    port int,
    primary key(ip,port)
);

insert into t19 values
(‘1.1.1‘,80),
(‘1.1.1‘,81);

auto_increment   自增长

create table t20(
    id int primary key auto_increment,
    name char(16)
);

insert into t20(name) values
(‘eddie‘),
(‘david‘),
(‘wxx‘);

insert into t20(id,name)values
(7,‘xxxx‘);

show variables like ‘auto_inc%‘;

#步长  auto_increment_increment  默认为1
#起始偏移量 auto_increment_offset 默认为1

#设置步长
set session auto_increment_increment=5;
set global auto_increment_increment=5

#设置起始偏移量
set global auto_increment_offset=3;
起始偏移量小于等于步长

清空表

delete from t20;     #auto_increment 没有删除  用delete 删除固定的id

truncate t20;  建议用这个清空表

  

原文地址:https://www.cnblogs.com/zhujing666/p/12311889.html

时间: 2024-11-07 23:42:29

3 日期类型/字符类型/枚举类型/集合类型/约束条件的相关文章

浮点型+字符(串)类型+时间类型+枚举与集合类型+约束条件

浮点型 分类:FLOAT DOUBLE decimal 应用场景:身高,体重,薪资 字段限制特点(5,3)前一位表示所有的位数,后一位表示小数个数 三者最大整数位和小数位对比: # 存储限制float(255,30)double(255,30)decimal(255,30)?# 精确度验证create table t9(x float(255,30));create table t10(x double(255,30));create table t11(x decimal(65,30));?i

MySQL数据类型--------枚举与集合类型实战

1. 背景 * MySQL数据库提供针对字符串存储的两种特殊数据类型:枚举类型ENUM和集合类型SET,集合类型数据类型可以给予我们更多提高性能.降低存储容量和降低程序代码理解的技巧. 2. 枚举与集合类型所属空间与最大成员数量 类型 占用字节 最大成员数量 ENUM 1 or 2, 取决于枚举成员的数量 65535 SET 1|2|3|4|8,取决于集合成员的数量 64 3. 枚举与集合约束检查应用 * 创建表 e_s mysql> CREATE TABLE e_s(     -> uid 

枚举与集合类型 约束条件

枚举与集合类型 枚举(enum) 限制某个字段能够存储的数据内容 集合(set) 限制某个字段能够存储的数据内容 create table user( id int, name char(16), gender enum('male','female','others') ); insert into user values(1,'jason','xxx') # 报错 insert into user values(2,'egon','female') # 正确! create table te

Swift3.0P1 语法指南——集合类型

原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID105 Swift提供三种原始的集合类型:数组.集合.字典,这三种类型在使用时key和value的类型都是确定的,意味着只有类型对应的元素才能保存到相应的集合中

Swift中的集合类型

一.引子: 在2014年10月TIOBE编程语言排行榜中,Swift位居第18位,从2014WWDC发布会首次公布至今不到半年时间,swift一直受到编程人员的追捧,其热衷程度并不亚于当红巨星Taylor Swift.相信在不远的将来,swift能够平稳发展,并逐步取代Objective-C. 二.swift的集合类型 下面回归主题.作为一名iOS开发者,我们已经非常熟悉诸如NSArray,NSDictionary,NSSet等常见集合类型,以及它们的可变同类NSMutableArray,NSM

07 映射和集合类型 - 《Python 核心编程》

?? 映射类型: 字典 ?? 操作符 ?? 内建函数 ?? 内建方法 ?? 字典的键 ?? 集合类型 ?? 操作符 ?? 内建函数 ?? 内建方法 ?? 相关模块 7.1 映射类型:字典 字典是Python 语言中唯一的映射类型. 映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系. 字典类型和序列类型容器类(列表.元组)的区别是存储和访问数据的方式不同. 序列类型只 用数字类型的键(从序列的开始起按数值顺序索引). 映射类型可以用其他对象类型做键:一般最常 见的是用字符串做键(key

C#集合类型

求职笔试遇到一道题: 列举C#中的集合类型___; 列举C#中的并发集合类型__; 我认识不深,查找的答案,希望大家指正: 集合类型是数据集合的常见变体,例如哈希表.队列.堆栈.字典和列表.集合基于ICollection 接口.IList 接口.IDictionary 接口,或其泛型集合中的相应接口. 1.数组集合类型:描述允许将数组视为集合处理的数组功能. 2.ArrayList 和List 集合类型:描述泛型和非泛型列表(最常用的集合类型)的功能. 3.Hashtable 和Dictiona

枚举类型与集合类型

枚举类型与集合类型 字段的值只能在给定范围中选择,如单选框,多选框 enum 单选 只能在给定的范围内选一个值,如性别 sex 男male/女female set 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...) MariaDB [db1]> create table consumer( -> name varchar(50), -> sex enum('male','female'), -> level enum('vip1','vip2','vip

3-3-4 枚举类型与集合类型

枚举类型与集合类型 字段的值只能在给定范围中选择,如单选框,多选框 enum 单选 只能在给定的范围内选一个值,如性别 sex 男male/女female set 多选 在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...) MariaDB [db1]> create table consumer( -> name varchar(50), -> sex enum('male','female'), -> level enum('vip1','vip2','vip