(1)數據類型
類型 |
備注 |
tinyint/smallint/mediumint/int/bigint |
1B/2B/3B/4B/8B |
float/double |
單精度/雙精度浮點型 |
decimal |
不會產生精度丟失的單精度/雙精度浮點型 |
date |
日期類型 |
time |
時間類型 |
datetime/ TimeStamp |
日期時間類型/ TimeStamp( 登錄時間,自己主動填充 ) |
year |
年類型 |
char |
定長字符串類型 |
varchar |
可變長字符串類型 |
tinyblob/blob/mediumblob/longblob |
255B/64K/16M/4G大小圖片/音樂二進行數據 |
tinytext/text/mediumtext/longtext |
255B/64K/16M/4G大小的文本數據 |
(2)mysql小知識
①登錄
mysql?>?mysql?-u?root?-p回車???
???????????****回車
???mysql?>?exit回車
②創建/使用/查看/刪除數據庫
???create?database?數據庫名;(以分號結束),SQL命令大寫和小寫無關???
???show?databases;?
???use?數據庫名;
?
③改動/備份/恢復數據庫數據
備份 :c:\>?mysqldump?-u?root?-p?mydb2?>?d:\mydb2.sql回車(可無分號結束)password回車
注意:該SQL命令是MySQL特有的,必須是MySQL環境外運行,即WindowXp環境中運行(退出mysql平臺)
恢復: mysql:\>?source?d:\mydb2.sql;回車(須要分號結束)
注意:該SQL命令是MySQL特有的,必須是MySQL環境中運行。
?
④MySQL支持數據類型簡單介紹
(1)Date/Datetime/TimeStamp,定界符使用''或"",但部份數據庫可能不支持"",優先推薦''作為定界符,對于日期類型,MySQL數據庫有一個的判段-功能
(2)varchar(變長)/char(定長)
(3)Text(大于65536字符的數據)/Blob(存儲二進制多媒體數據,比如Mp3等),該二類型都有四個子類型,依據存儲內容的大小進行選擇
(4)INT型有帶符號和無符號之分,int(5)表示int默覺得5位,假設插入id值,小于5位,左補空格,假設插入id值,大于5位,依照插入值,但必須滿足int類型的大小確定
(5)FLOAT(M,D),D表示小數點后的D位,按四舍五入計算,M表示除小數點外的全部位數總和
⑤MySQL改動表和字符集
?
show?variables?like?'character%';
set?character_set_results=gbk;
(3)MySQL解決中文亂碼(XP下)
2種解決方式:
a)在當前MySQLclient改動輸入和輸出的MySQL環境變量為GBK或GB2312,注意,該種方式僅僅在當前窗體中有效
b)改動MySQL文件夾下的my.ini文件,將client的缺省編碼方式改為GBK或GB2312,注意,須要又一次啟動MySQL服務
(4)表的增刪改操作
a)insert?
b)update
c)delete?from?或truncate?table或drop?table
delete?from:按行刪除表中的全部記錄,但會保留表,適合刪除數據量不大數據,可按條件刪除
truncate?table:復制原表結構-〉一次性刪除整表?->?自己主動恢復原表結構,適合刪除數據量較大數據,不能按條件刪除
drop?table:刪除表本身
刪除記錄時,一定要留意表間的關聯關系
(5)表的查詢操作
(1)select?distinct/*/列名?from?表名
(2)select?表達式/對列名加別名?from?表名???NULL+X=NULL
(3)where子句,出如今from后面,where是按行篩選
(4)邏輯運算和關系運算
(5)排序:NULL值為最小,使用order?by子句,默認升序,order?by子句必須放置在最后
(6)復合函數
???①count()函數,統計之用,不統計NULL值
???②sum()函數,統計和之用,不要統計非數值,假設統計非數值,返回0
?
*********************************************************************************************************************************
盡量不要在for/foreach等循環語句中使用sql語句,這樣做對數據庫的資源是非常大的消耗,假設數據不多的話能夠拿全集(join子句)通過PHP進行篩選,或者使用mysql的in()查詢。假設表中的數據量非常大的話,使用join進行關聯查詢相同會拖慢查詢效率,此時應該先從A表中查出全部記錄,將id組合成字符串,然后使用in()子句在B表中查出對應記錄。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
