自己学习数据库的笔记
SQL是不区分大小写的,但是表就是一个文件名,Windows不区分大小写,Linux区分大小写
自己定义的名称最好小写;
SQL语句都大写;
数据值和列类型
细分都是按照空间大小来区分的,可以存下就行
1 数值型
整型(整数)
TINYINT 非常小整数 1字节 -128~~127 (-2^7~2^7-1) 0~~255(无符号 2^8 ) (一个字节8位)
SMALLINT 较小的整数 2字节 -32768~~32767 (-2^15~2^15-1) 0~~65535 (2^16 )
MEDIUMINT 中等大小整数 3字节 2^24
INT 标准整型 4字节 -~~ 0~~ (2^32)
BIGINT 长整型 8字节
浮点型(小数)
FLOAT(M,D) 4字节(保留D位小数)
DOUBLE(M,D) 8字节
定点数
DECIMAL(M,D) M+2字节, 是按照字符串存放的一个字符 1字节 (高精度如货币等对精度敏感的时候用定点数)
尽量避免浮点数的比较
2 字符串
char(M) 255 的存储空间,也可指定M个存储空间
varchar (M) 255
char属于固定长度字符串,varchar是可变长度字符串
char(4) varchar(4)
' ' 空字符串 4字节 ' ' 空字符串 1字节
‘ab’ 4字节 ‘ab’ 3字节
‘abcd’ 4字节 ‘abcd’ 5字节
'abcdefa' 4字节(会截断) ‘asdassdasd’ 5字节
char比varchar速度快,如果变化不大,如性别,等用char, 而varchar 可用作标题等变化大的字符
保存较大文本时:
text 文本数据(文章) 2^16-1
MEDINMTEXT 2^24-1
LONGTEXT 2^32-1
blob 二进制数据(照片,电影)
MEDINMBLOB 2^24-1
LONGBLOB 2^32-1
enum 枚举 1或2字节 一次只能用一个值
set 集合 1 .2.3.4.8字节 几次可以用多喝集合中的值,中间用“ , “分开
在程序用用文件读取在用MYSQL读入
3 日期型
DATA YYYY-MM-DD
TIME HH:MM:SS
DATATIME YYYY-MM-DD HH:MM:SS
TIMESTAMP
YEAR
create table tab10<one data>;
insert into tab10<one> values<"2010-12-03">; LINUX代码
创建时,用整数保存时间。 上面几种通常不用。
数据字段属性
1. unsigned 无符号, 只能用在数值字段。
2. zerofill 只能用在数值型字段,前导0,该属性自动应用 unsigned
3. AUTO_INCREMENT 自动增长,只能是整数,数据每增加一条就会自动增加1,字段的值是不允许重复的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/64904.html