1. 程式人生 > 其它 >JavaScript DOM(1)

JavaScript DOM(1)

MySQL建立表

1、數值型別

型別 大小 範圍(有符號的) 範圍(無符號) 用途
tinyint 1位元組 (-128,127) (0,255) 小整數值
smallint 2位元組 (-32768,32767) (0,65535) 大整數值
int 4位元組 (-2147483648,2147483647) 大整數值
float 4位元組 單精度浮點型
double 8位元組 雙精度浮點型
decimal (m,d)如果m大於dm+2 否則為d+2 依賴於m和d的值 依賴於m和d的值 小數值(更加精準)
  • 建立表

    mysql> create table testnum(
        -> ttinyint tinyint,
        -> tsmallint smallint,
        -> tint int,
        -> tfloat float(6,2),
        -> tdouble double(6,2),
        -> tdecimal decimal(6,2)
        -> );
    
  • 建立表結構的主體

    create table 表名(
    	欄位名  欄位型別 約束條件 欄位說明...,
    	....
    	主鍵索引,
    	常規索引,
    	唯一索引
    );
    
  • 表插入語句

    • 指定欄位名插入資料

      insert into 表名(欄位名[,欄位名...]) values (值1[,值2...])

    • 不指定欄位名插入資料(所有欄位都插入值)

      insert into 表名 values (值1[,值2...])

    • 注意

      從左到右 依次對應

  • 注意

    • decimal儲存型別 小數更加精準 還可以節省儲存空間
    • float/double/decimal 在儲存值的時候 如果開啟了不嚴謹報錯 則會按最大的值進行擷取
    • 我們數值型別後面都不需要給值 比如 int(3) 不夠能限制值的儲存長度 只有在zerofill的時候 零填充才有意義

2、日期和時間型別

型別 大小 範圍 格式 用途
date 3位元組 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
time 3位元組 -838:59:59/838:59:59 HH:MM:SS 時間值或持續時間
year 1位元組 1901-2155 YYYY 年份值
datetime 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和時間
timestamp 4 1970-01-01 00:00:00/2038 YYYY-MM-DD HH:MM:SS 混合日期和時間
  • 創表語句

    mysql> create table testdate(
        -> tdate date,
        -> ttime time,
        -> tyear year,
        -> tdatetime datetime default now(),
        -> ttimestamp timestamp
        -> );
    
  • 注意

    • timestamp 值預設不為空 預設值為當前的時間戳
    • 儲存時間的時候 最好儲存時間戳 方便我們對日期進行計算啊

3、字串型別

型別 大小(位元組) 用途
char 0-255 定長字串
varchar 0-255 變長字串
tinyblob 0-255 不超過255個字元的二進位制字串
tinytext 0-255 短文字字串(不可以根據指定的值進行限制)
blob 0-65535 二進位制形式的長文字資料
text 0-65535 長文字資料
mediumblob 二進位制形式的中等長文字資料
loneblob 0-4294697295 二進位制形式的長文字資料
lonetext 0-4294697295 極大文字字串資料
enum(成員1[,成員2...]) 65535 列舉 多個值逗號隔開
set(成員1[,成員2...]) 64 集合 多個值逗號隔開
  • 建立表

    mysql> create table teststring(
        -> tchar char(5),
        -> tvarchar varchar(5),
        -> ttext text,
        -> tenum enum('w','m'),
        -> tset set('a','b','c')
        -> );
    
  • 插入資料

    insert into teststring values('lucky', 'lucky', 'lucky','w', 'a');
    
  • 字串注意事項

    1. char和varchar的區別

      • char的執行效率高於varchar(但佔用空間大)

        因為varchar會將長度轉換為實際儲存長度

        char如果給定字元小於指定的長度 則使用null佔位

      • varchar相對於char節省空間

      • char與varchar的儲存長度最大都為255

      • 如果開啟了不嚴謹報錯 依然都是按照最大的長度去擷取

    2. 列舉和集合的區別

      • enum只能選擇列出的多個成員中的某一個
      • set可以列出所給定的成員的一個到多個
      • set可以選擇多個成員 如果有重複的則會自動去重