1. 程式人生 > >MYSQL資料庫規範-欄位規範

MYSQL資料庫規範-欄位規範

(1)用好數值型別tinyint(1Byte)smallint(2Byte)mediumint(3Byte)int(4Byte)bigint(8Byte)【bad case】int(1)/int(11)
(2)字元轉化為數字用int而不是char(15)儲存ip
(3)優先使用enum或set 例如:sex enum (‘F’,‘M’)
(4)避免使用NULL欄位NULL欄位很難查詢優化NULL欄位的索引需要額外空間NULL欄位的複合索引無效【bad case:】name char(32) default nullage int not null【 good case:】age int not null default 0
(5)少用text/blobvarchar的效能會比text高很多實在避免不了blob,請拆表(鍊金爐有應用 remark1、remark2、remark3、remark4)
(6)不在資料庫裡存圖片

相關推薦

MYSQL資料庫規範-規範

(1)用好數值型別tinyint(1Byte)smallint(2Byte)mediumint(3Byte)int(4Byte)bigint(8Byte)【bad case】int(1)/int(11) (2)字元轉化為數字用int而不是char(15)儲存i

mysql資料庫時間相差8個小時解決辦法

資料庫->mysql 持久層框架->mybatis 解決思路:使用mybatis提供的型別轉換器功能 建立DateHandler,指定泛型為Date package cn.nsu.edu.web.four.handler.mybatis; import org.ap

Mysql 資料庫字符集修改

修改資料庫字符集 alter database owl default character set utf8; 修改表字符集 alter table t_app character set utf8; 修改單個欄位字符集 alter table t_app modify a

mysql資料庫intString條件查詢

今天測試碰到個有趣的問題 很簡單一個請求 contrller裡面也很簡單 就是一個mybatis的級聯查詢,查出的資料json返回 @RequestMapping("/selectDriverCarInfolistByPartyId") public R

使用Python建立MySQL資料庫實現動態增加以及動態的插入資料

應用場景: 我們需要設計一個數據庫來儲存多個文件中每個文件的關鍵字。假如我們每個文件字元都超過了1000,取其中出現頻率最大的為我們的關鍵字。 假設每個文件的關鍵字都超過了300,每一個檔案的0-29

MySQL資料庫通過名來搜尋相應的表

二次開發ecshop中遇到個問題,我添加了一個配置項,但是標題和提示不在配置項表中新增,於是只能通過關鍵詞來搜尋,以下是我用的方法: 用MySQL語句查詢: 定位列名: use 表名; select * from information_schema.COLUMNS w

Linux中使用Shell指令碼插入mysql資料庫中文值亂碼問題

問題描述 我在shell指令碼寫了一段insert到mysql的語句,測試語句如下: mysql -h*** -P3306 -u*** -p*** -D *** -e "insert into test values('123456', '測試')"

MYSQL資料庫時間INT,TIMESTAMP,DATETIME效能效率比較

Author:飄易 Source:飄易 Categories:資料庫 PostTime:2016-10-28 13:12:22 正 文:    在資料庫設計的時候,我們經常會需要設計時間欄位,在MYSQL中,時間欄位可以使用int、timestamp、datetime

資料庫工作筆記004---mysql對結果進行判斷的函式_Case when等

結果1:    結果2     結果3    結果4    事前準備:例項用的表結構和資料 /* Navicat MySQL Data Transfer Source Server : work Source Server Version

阿里巴巴MYSQL資料庫設計,查詢規範

MySQL資料庫 (一)建表規約 1.【強制】表達是與否概念的欄位,必須使用is_xxx的方式命名,資料型別是unsignedtinyint(1表示是,0表示否) 。說明:任何欄位如果為非負數,必須是unsigned。正例:表達邏輯刪除的欄位名is_d

mysql 查詢資料庫裡面的id是否存在 可以限定表和

DELIMITER $$ USE `awebprice`$$ DROP PROCEDURE IF EXISTS `p_search_value`$$ CREATE DEFINER=`dbn_admin`@`%` PROCEDURE `p_search_value`( IN

MySQL獲取或者查詢資料庫某個的特定幾(substring)

一、獲取特定的幾位: date欄位值為(2019-12-13) 1.取date的後5位 select SUBSTRING(date,-5)from letter 結果為12-13 2從左開始第6位取(包括第6位) select SUBSTRING(date,6)from lette

MySQL資料庫命名及設計規範

標準化和規範化資料的標準化有助於消除資料庫中的資料冗餘。標準化有好幾種形式,但Third Normal Form(3NF)通常被認為在效能、擴充套件性和資料完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的資料庫的表設計原則是:“One Fact in One Place”即某個表只包括其本身基本的屬性,

MySQL獲取或者查詢資料庫某個的特定幾(SUBSTRING/RIGHT/LEFT)

一、獲取特定的幾位:1、取url欄位後三位字元?1select SUBSTRING(url, -3) from link;#這種只能針對固定長度,比說url共8個字元,可以下面這種寫法?1select RIGHT(`url`,length(`url`)-5) from lin

mysql 匯出資料庫部分或部分資料

搜了挺長時間,都說mysqldump只能匯出全部欄位,可根據條件匯出部分資料的全部欄位,網搜了下發現一個匯出部分欄位的方法,使用select concat('insert into table_name(column1,column2...) values(\"',colu

MySQL將一個中以逗號分隔的取出來形成新的

1例如:要把如圖1的欄位拆分圖2 select account_id, substring_index(substring_index(a.related_shop_ids,',' ,b.help_topic_id+1),',',-1) shopid

Mysql查詢某個出現的次數並按倒序排列

問題:mysql資料庫表名address,查詢城市city欄位出現的次數並按倒序排列   查詢語句 select city,count(*) from address group by city order by count(*)  desc 執行結果如圖,按查詢欄位(城

mysql 關於某去重查詢

 使用distinct 和 group by 對於查詢多欄位,而只對一個欄位去重是查不到正確值得,因為distinct 後面跟多欄位,mysql會對只有這些子對完全重複才能去重,而group by 查詢的欄位也只能在 group 

Mysql中 BLOB轉String的方法

轉:https://www.cnblogs.com/renjie0520/p/5242350.html 1.通過sql直接轉換 select CONVERT (*** USING utf8) AS userName from usertable; 2.通過程式轉換(注

MySQL中去除中的回車符和換行符

今天處理資料的時候,將Excel資料匯入MySQL後,通過SQL語句卻查不到需要的資料,後來找到一篇帖子解決了這個問題,原文地址:https://blog.csdn.net/u012586848/article/details/50997865,內容如下: 問題: 在使用【 load data