做油漆的网站,wordpress调整侧边栏的高度,wordpress 长尾词优化,网站网页优化怎么做目录 1. 表的操作; 2. 数据类型; 1. 表的操作:
1.1 创建表: 语法: create table 表名( 属性 类型 [comment ], 属性 类型 [comment ], 属性 类型 ) character set 字符集 collate 校验集 engine 存储引擎; 前面博客提到: MyISAM和InoDB这两个比较重要. 1.2 查看表…目录 1. 表的操作; 2. 数据类型; 1. 表的操作:
1.1 创建表: 语法: create table 表名( 属性 类型 [comment ], 属性 类型 [comment ], 属性 类型 ) character set 字符集 collate 校验集 engine 存储引擎; 前面博客提到: MyISAM和InoDB这两个比较重要. 1.2 查看表结构: 语法: desc 表名; 1.4 修改表: 修改包括: 增加, 修改, 删除; (1)增加语法: alter table 表名 add 增加属性 类型 after 原来属性; (2)修改语法: alter table 表名 modify 原来属性 新类型; (3)删除语法: alter table 表名 drop 属性; (4)修改表名: 语法: alter table 表名 rename [to] 新表名; 修改属性及其类型: 语法: alter table 表名 change 旧属性 新属性 新类型; 1.5 删除表: 语法: drop table 表名; 2. 数据类型:
2.1数据类型分类: 2.2 数值类型:
2.2.1 tinyint: tinyint: 是1个字节, 它的取值范围是 [-128,127]; 超出这个范围就会越界访问,报错. ⭐ 整形可以指定是有符号还是无符号的,默认是有符号的. 关键字: unsigned ; tinyint 无符号范围是[0,255] ; 补充: smallint: 2个字节, 那么它的取值范围就是[-2^(n*8-1) , 2^(n*8-1) - 1]; 那么就是[-32768, 32767]; 那么无符号取值范围就是[0, 2^(n*8)-1] ; 那么就是[0, 65535]; 还有int: 是4个字节, bigint: 8个字节; 2.2.2 bit: 语法: bit(n); 1 n 64; 默认不写就是1; bit是按照ASCII码进行显示的; 如果想要存放0/1, 那么就可以使用bit(1), 节省空间, 但是插入数据就只能是一位二进制. 2.2.3 float: 语法: float(n,m) [unsigned] n表示指定长度, m是小数点后保留几位. 占用4个字节. float(4, 2): 表示就是xx.xx, 并且是有符号的, 保留两位小数. 那么范围就是[-99.99, 99.99]; 那么同理float(6, 2) 范围就是[-9999.99, 9999.99]. ⭐ 如果插入的数据小数部分还会进行四舍五入, 如果四舍五入之后超过范围会报错, 反之就会成为最大/最小范围值. 再思考一下无符号类型呢? float(4, 2) 范围就是[0, 99.99]; 2.2.4 decimal: decimal的语法使用和float是一样的, 但是decimal的精度是高于float的; ⭐ float的精度最高是7位, decimal的精度最高是65位. 2.2.5 char: 语法: char(n); 最大长度是255; 占1个字节 ⭐ 这里的n并不是2个字节, 是字符的个数. 2.2.6 varchar: 语法: varchar(n); 最大长度是65535;占2字节. ⭐ 这里的n的大小是多少? 其实和编码集相关的; 一般还要使用1-3个字符记录数据的大小, 所以就是65532; 如果编码集是utf8, 那么一个字符占3字节, 65532/321844; 如果编码集是gbk, 那么一个字符占2字节, 65532/232766; char和varchar的对比: char和varchar的不同点就是占用字节的计算, char是根据n来进行计算, varchar是根据具体字符进行计算的. abcd 和 A 分别被char(4) AND varchar(4): char(4): abcd: 4*3 12; A: 4*3 12; varchar(4): abcd: 4*3 113; A: 1*3 1 4; 如何选择定长和变长字符串呢? a. 长度确定就使用定长, 不确定就变长; b. 定长磁盘空间浪费, 但效率高; 变长相反; c. 定长是直接开辟好的空间, 变长是用多少开辟多少. 2.2.7 日期和时间: (1) date: 日期 yyyy-mm-dd 占3个字符; (2) datatime: 日期格式 yyyy-mm-dd HH:ii:ss 占8个字符; (3) timestamp: 时间戳 , 从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致占用 四字节; update 表名 set 属性新属性; 2.2.8 enum 和 set: enum语法: enum(选项1, 选项2, ...); ⭐ 这些值实际存储的是数字, 每个选项值对应一个数字1,2,3,... set语法: set(选项1, 选项2, ...); where和find_in_set: 区别就是where查找完整的, find_in_set查找相关的.