#常見的資料型別
/*數值型:
整型小數:
定點數浮點數
字元型:
較短的文字:char、varchar
較長的文字:text、blob(較長的二進位制資料)
日期型:
#一、整型
/*分類:
tinyint、smallint、mediumint、int/integer、bigint
1 ----------- 2 ----------- 3 ----------- - 4 ------------ 8
特點:① 如果不設定無符號還是有符號,預設是有符號,如果想設定無符號,需要新增unsigned關鍵字
② 如果插入的數值超出了整型的範圍,會報out of range異常,並且插入臨界值
③ 如果不設定長度,會有預設的長度
長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!
#1.如何設定無符號和有符號
drop table if exists tab_int;
create table tab_int(
t1 int(7) zerofill,
t2 int(7) zerofill
desc tab_int;
insert into tab_int values(-123456);
insert into tab_int values(-123456,-123456);
insert into tab_int values(2147483648,4294967296);
insert into tab_int values(123,123);
select * from tab_int;
#二、小數
/*分類:
1.浮點型
float(m,d)
double(m,d)
2.定點型
dec(m,d)
decimal(m,d)
特點:①m:整數部位+小數部位
d:小數部位
如果超過範圍,則插入臨界值②
m和d都可以省略
如果是decimal,則m預設為10,d預設為0
如果是float和double,則會根據插入的數值的精度來決定精度
③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用*/
#測試m和d
drop table tab_float;
create table tab_float(
f1 float,
f2 double,
f3 decimal
);select * from tab_float;
desc tab_float;
insert into tab_float values(123.4523,123.4523,123.4523);
insert into tab_float values(123.456,123.456,123.456);
insert into tab_float values(123.4,123.4,123.4);
insert into tab_float values(1523.4,1523.4,1523.4);
#原則:
/*所選擇的型別越簡單越好,能儲存數值的型別越小越好
#三、字元型
/*較短的文字:
char
varchar
其他:binary和varbinary用於儲存較短的二進位制
enum用於儲存列舉
set用於儲存集合
較長的文字:
text
blob(較大的二進位制)
特點:
寫法 m的意思 特點 空間的耗費 效率
char char(m) 最大的字元數,可以省略,預設為1 固定長度的字元 比較耗費 高
varchar varchar(m) 最大的字元數,不可以省略 可變長度的字元 比較節省 低
*/create table tab_char(
c1 enum(『a』,『b』,『c』)
insert into tab_char values(『a』);
insert into tab_char values(『b』);
insert into tab_char values(『c』);
insert into tab_char values(『m』);
insert into tab_char values(『a』);
select * from tab_set;
create table tab_set(
s1 set('a','b','c','d')
);
insert into tab_set values(『a』);
insert into tab_set values(『a,b』);
insert into tab_set values(『a,c,d』);
#四、日期型
分類:date只儲存日期
time 只儲存時間
year只儲存年
datetime儲存日期+時間
timestamp儲存日期+時間
特點:
位元組 範圍 時區等的影響
datetime 8 1000——9999 不受
timestamp 4 1970-2038 受
create table tab_date(
t1 datetime,
t2 timestamp
insert into tab_date values(now(),now());
select * from tab_date;
show variables like 『time_zone』;
set time_zone=』+9:00』;
MySQL 常見資料拆分辦法
在生產環境中,由於業務的增長或者業務的拆分,dba經常需要拆庫操作。那麼我們常見的拆庫手段有哪些呢?我這裡提供幾種解決辦法 1.使用mysqldump 把錶邏輯倒出,然後再source 到其它地方 2.使用xtrabackup 把錶 或者庫邏輯備份出,然後再recovery出乙個例項 3.使用mys...
MYSQL 常見資料型別
一 數值整形型別 型別位元組 最小值最大值 帶符號 無符號 帶符號 無符號 tinyint 1 1位元組 8 bit 128 1270 2 8 256 轉為二進位制,包括0 smallint 2 2 8 bit 32768 32767 02 2 8 65535 mediumiint 3 3 8 bi...
Mysql常見資料型別
資料型別 儲存範圍 位元組tinyint 有符號值 128到127 2 7到2 7 1 1smallint 有符號值 32768到32767 2 15到2 15 1 2mediumint 有符號值 8388608到8388607 2 23到2 23 1 3int 有符號值 2147483648到21...