Mysql的学习记录

一.类型
1.整型(int)
有五个整型,它们的区别在于取值范围及占用字节的大小。
TINYINT(一个字节):
有符号值:-128到127
无符号值:0到255
SMALLINT(两个字节):
有符号值:-32768到32767
无符号值:0到65535
MEDIUMNT(3):
有符号值:-8388608到8388607
无符号值:0到16777215
INT(4):
有符号值:-2147483648到2147483647
无符号值:0到4294967295
BIGINT(8):
有符号值:足够用一辈子了
无符号值:足够用两辈子了
可以从上面看出int整型作为id编号而已INT(4)已经可满足大部分的需求了(42亿),要是编号可能超过42亿那就直接BIGINT吧
二.浮点型
1.float:
用法:FLOAT[(M,D)]
PS:M是数字总位数,D是小数点后面的位数。
2.double:
用法:DOUBLE[(M,D)]
FLOAT型存储数据只能精确到大约7位小数位,所以使用FLOAT存储精度要求高的数据是有风险的
三,日期时间型
1,YEAR(字节1)
2.TIME(字节3)
3.DATE(字节3) 1000-1-1到9999-12-30 足够好几辈子
4.DATETIME(字节8)
5.TIMESTAMP(字节4) 范围1970 1-1 00:00 到2037 时间是把杀猪刀
四,字符型
1,CHAR(M) :M是指字节数 0<=M<=255 字节大小固定,效率高(现在这个社会还怕没空间,直接上茶)
2.VARCHAR(M):L+1个字节 L<=M<=65535 s 自动删除空位,空间使用率高
五,枚举型
ENUM(data1,data2,…,datan)
data是以文本框的格式进行存储的,即可以是字符也可以是数字。data只能选一个
ENUM 中文名称叫枚举类型,它的值范围需要在创建表时通过枚举方式显式指定,对 1~
255 个成员的枚举需要 1 个字节存储;对于 255~65535 个成员,需要 2 个字节存储。最多
允许有 65535 个成员。
SET(data1,data2,…,datan)
data是以文本框的格式进行存储的,即可以是字符也可以是数字。可以选多个data
Set 和 ENUM 类型非常类似,也是一个字符串对象,里面可以包含 0~64 个成员。根据
成员的不同,存储上也有所不同。
1~8 成员的集合,占 1 个字节。
9~16 成员的集合,占 2 个字节。
17~24 成员的集合,占 3 个字节。
25~32 成员的集合,占 4 个字节。
33~64 成员的集合,占 8 个字节。
六.TEXT与BLOB
言过其实TEXT与BLOB就是加大版的char。
保存较大文本的时候就选择TEXT和BLOB,区别在于
TEXT只能保存字符数据,类似于文章日记流; BLOB能够保存二进制数据,比如照片。**
TEXT、MEDIUMTEXT、LONGTEXT
BLOB、MEDIUMBLOB、LONGBLOB
ps:BLOB 和 TEXT 值会引起一些性能问题,特别是在执行了大量的删除操作时,建议定期使用 OPTIMIZE TABLE 功能对这类表进行碎片整理,避免因为“空洞”导致性能问题。
七,数据表
查看数据库:SHOW DATABASES;
查看数据表: SHOW TABLES [FROM db_name] +[LIKE “pattern” | WHERE expr]
创建数据库:CREAT DATABASE data_name:
example:CREAT DATABASE testdatabase;
打开数据库:USE database_name;
example:USE testdatabase;
创建数据表:CREAT TABLE [IF NOT EXISTS] table_name(colum_name data_type,…

example: CREAT TABLE tb1(username CHAR(10) NOT NULL,age TINYINT)
插入记录:
INSERT [INFO] tbl_name[(col_name,…)] VALUES(val,…)
修改表的内容用:
ALTER TABLE tablename MODIFY [COLUMN] column_defiTnition [FIRST] AFTER col_name;
exmple: alter table name modify ename varchar(20);
增加表中column
alter table tablename add [column] columnname +类型;
example: alter table a add enumsex enum(“男”,“女”,“性别不明”);
删除表中的column
alter table tablename drop [column] columnname;

持续更新中。。。。。

你可能感兴趣的:(Mysql的学习记录)