Mysql字段類型
mysql 8個基本的字符串類型
1 一個英文占用1個字節(jié)
2 一個中文占用兩個字節(jié)
char 0——255 定長字符串 不夠空格補充 多了 截取
varchar 0——255 變長字符串 多了截取
但如果確切知道字符串長度,比如就在50~55之間,那就用 CHAR 因為 CHAR 類型由于本身定長的特性使其性能要高于 VARCHAR;
tinyblob 0——255 不超過255個字符的二進制字符串
text 超短文本字符串
binary 不是函數(shù),類型轉換運算甘耿,用來強調他后面的字符串為為二進制
text blob類型 對于字段長度超過255個情況司浪,這些大型數(shù)據(jù)用于存儲文本和圖像茅糜,聲音二進制數(shù)據(jù)類型。
時間類型
image.png
復合類型
enum列舉類型
插入的數(shù)據(jù)只能預定義的一個 其他的就會插入空字符換
set 也是列舉
但是可以從預定義的數(shù)據(jù)中插入多個蒜胖,如果插入的多個其中也定義之外的 就除去。定義之中的保留
總結
1 手機號 char(11)
姓名 char(20)
價格 decimal(7,3)
文章內容TEXT
MD5:char(32)
time:int(10)
email char(32)
2 不要使用null
mysql null 浪費性能 如果整數(shù)用0 字符串用空默認定義
無限級查詢
image.png
SELECT son.type_id,son.type_name,parent.type_name FROM table_goods_type AS son
-> LEFT JOIN table_goods_type AS parent
-> ON son.parent_id = parent.type_id;
image.png
php 連接數(shù)據(jù)庫
$localhost="127.0.0.1";
$user = "root";
$password="";
$database="demo";
$port=3306;
$link = mysqli_connect($localhost,$user,$password,$database,$port);
$sql="select student.id,student.name,sex.sex,student.age from student left join sex on student.sex=sex.id where (student.`name`) LIKE "%紅%"";
如果執(zhí)行的語句是 查找語句 返回的結果是一個對象 如果執(zhí)行失敗 返回false
如果執(zhí)行的語句是 增刪該 返回的結果是一個布爾類型
$result=mysqli_query($link,$sql);
執(zhí)行結果SQL語句查詢語句惹恃,執(zhí)行成功返回對象不能直接用需要轉化為使用mysqli_fetch_all()轉化為數(shù)組
mysqli_fetch_all()
參數(shù)1 query的執(zhí)行結果 一個對象
參數(shù)2 轉化的數(shù)組的形式 MYSQLI_NUM 默認為索引數(shù)組
MYSQLI_ASSOC 為關聯(lián)鍵位
MYSQLI_BOTH 一維索引 二維索引關聯(lián)都有
$rows = mysqli_fetch_all($result,MYSQLI_ASSOC);
可以直接把讀取到的數(shù)據(jù)賦值給數(shù)組或者通過字段名的形式賦值也可以
mysqli_close($link);
?>
根據(jù)類型模糊查詢
根據(jù)條件模糊查詢
$strs="select * from student where {$sele} LIKE '%{$value}%'";