mysql数据类型和列属性

列属性:
定义一个字段时对该字段设置的额外的信息或约束
1、 关联操作:reference
2、 字段默认值:default value
3、 主索引和唯一索引:primary key 和unique key
4、 自动增长:auto_increment
5、 是否允许为空:null、not null
6、 comment:列注释
默认情况下,字段都允许为空(缺省值为null),not null不能为空
当给一个not null 的字段插入值的时候,系统首先判断该字段是否有默认值,如果没有,就报错。
default
自定义默认属性,通常配合not null 一起使用。
create table student (
id int not null default 100
);
在插入数据时,用default关键字代替
primary key
简称PK,可以唯一标识某条记录的字段或字段的组合(组合主键)
设置主键的两种方式:
1、 在定义一个字段时,直接在后面设置primary key
create table student (
id int unsigned primary key
);
主键字段不能重复,值不能重复,不能为空
2、 定义完毕字段后再定义主键(组合主键只能使用这种方式)
primary key(id)
primary key(id,name)
unique key
增加该属性后,该字段的值就不能重复。可以简写成unique
unique key (id,name)定义两个唯一键
主键和唯一键的区别:
1、 主键不允许为空,唯一键允许为空
2、 主键只能有一个,但唯一键可以有多个
3、 主键可以用两个字段组合为组合主键,而唯一键的多个字段都是唯一键
auto_increment
每次插入记录时,自动为某个字段的值加1,默认从1开始
使用这个属性有两个条件:
1、 该字段类型必须为整型;
2、 该字段必须存在索引(比如:主键索引)
开启auto_increment后,每次插入主键字段的时候,就可以直接插入null,这里的null是告诉系统,开启自动加载机制。
增加表选项,auto_increment自动增长初始值
create table student (
num int
)auto_increment 100;
开启了自动增长机制,也可以手动插入,自动增长是以前面出现的最大值自动增长
delete from 表中所有数据之后,并不会重置自动增长机制,可以使用truncate table 表名 或者truncate 表名,来重建表:
1、 先把原表drop掉
2、 再按以前的原表的结构重新创建一次
comment
专门为列做注释的,这里的列注释内容属于列定义的一部分,一起显示出来
在列定义的后面,comment “注释内容”
索引
索引的本质就是在“原始表”的基础之上根据某个或某些字段进行排序后的“内置表”
索引的作用,能极大提高表数据的查询速度,但它以降低增删改的速度为代价的。
1、普通索引:key(字段1,字段2……)或index(字段1,字段2……)
2、唯一索引:unique key()
3、主键索引:primary key()
4、全文索引
5、哈希索引
6、空间索引
mysql数据类型和列属性的更多相关文章
- MySQL (二)-- 数据类型(列类型)、数值类型、 小数类型、 时间日期类型、 字符串类型 、 MySQL记录长度、列属性
1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都 ...
- MySQL之字段数据类型和列属性
数据类型: 对数据进行统一的分类,从系统的角度出发,为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类:数值类型.字符串类型.时间日期类型. 数值型: 数值型数据: ...
- mysql的数据类型与列属性
- mysql学习笔记--列属性
一.是否为空----null || not null 二.默认值----default 三.自动增长----auto_increment 四.主键----primary key 1. 主键:唯一标识表 ...
- 【拼接属性查询方式】MySql某一列属性值为拼接时的查询方式
数据库中某一列的值为 使用IN查询是无法查询到数据的,只能查询到IN(2)或者IN(2,3) 查询结果: , style_id) 正确方式:使用FIND_IN_SET函数 , style_id) , ...
- 【转】MySQL数据类型和常用字段属性总结
来源:http://www.jb51.net/article/55853.htm 这里先总结数据类型.MySQL中的数据类型大的方面来分,可以分为:日期和时间.数值,以及字符串.下面就分开来进行总结. ...
- MySQL数据类型和常用字段属性总结
前言 好比C++中,定义int类型需要多少字节,定义double类型需要多少字节一样,MySQL对表每个列中的数据也会实行严格控制,这是数据驱动应用程序成功的关键.MySQL提供了一组可以赋给表中各个 ...
- MySQL数据类型和属性
日期和时间数据类型 MySQL数据类型 含义 date 3字节,日期,格式:2014-09-18 time 3字节,时间,格式:08:42:30 datetime 8字节,日期时间,格式:2014-0 ...
- mysql的数据类型和字段属性
本文内容: 数据类型 数值类型 整数型 浮点型 定点型 日期时间类型 字符串类型 补充: 显示宽度与zerofll 记录长度 字段属性 空\不为空值:NULL.NOT NULL 主键:primary ...
随机推荐
- dll的导入库(lib)输出路径
创建动态链接库项目A, 它会生成:dll, lib, exp 等,其中 lib & exp 生成的路径设置在:[Linker]->[All Options]->[Import Li ...
- a 锚点跳转滑动效果
点击a链接时,跳转到相应id的位置处,有一个滑动效果. <a href="#my">我是跳转到div</a><div id="my" ...
- CSS关于子元素设置了float属性后父元素高度为0的解释和解决方法
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- svn patch
生成patch文件: svn diff > patchFile // 整个工程的变动生成patch 或svn diff file > patchFile // 某个文件单独变动的patch ...
- AX2012 QTY小数的位数问题
小数的位数 ============================================ A.扩展数据类型Qty的位数(默认为2位)B.单位中的位数(通常PCS为0位)C.扩展数据类型Bo ...
- SPSS数据分析—主成分分析
我们在分析问题的时候,为了准确全面的反映问题,常常收集很多变量,这些变量之间往往具有相关性,导致存在大量的重复信息,直接使用的话,不但模型非常复杂,而且所引起的共线性问题会使模型准确度降低. 对此,我 ...
- JAVA GUI
JAVA GUI中的事件处理: 委托事件模型:事件源对象和监听器对象具有绑定关系 一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型 设置容器的布局管 ...
- 实验三——for 语句及分支结构else-if
1.本节课学习到的知识点:在本次课中,我学习了for语句的使用,认识了for语句的执行流,明确了三种表达式的意义.以及最常用的实现多分支的else-if语句. 2.实验过程中遇到的问题及解决方法:在本 ...
- (转)px、em、rem的区别和使用
国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem(国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位),那么三者有什么区别,又各自有什么优劣呢? 一.px特点 1. IE ...
- (转)apache和nginx的区别
nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下ngin ...