mysql 数据库
2019-07-13 本文已影响0人
向往世界的蜗牛
Mysql字段类型
mysql 8个基本的字符串类型
1 一个英文占用1个字节
2 一个中文占用两个字节
char 0——255 定长字符串 不够空格补充 多了 截取
varchar 0——255 变长字符串 多了截取
但如果确切知道字符串长度,比如就在50~55之间,那就用 CHAR 因为 CHAR 类型由于本身定长的特性使其性能要高于 VARCHAR;
tinyblob 0——255 不超过255个字符的二进制字符串
text 超短文本字符串
binary 不是函数,类型转换运算,用来强调他后面的字符串为为二进制
text blob类型 对于字段长度超过255个情况,这些大型数据用于存储文本和图像,声音二进制数据类型。
时间类型
image.png
复合类型
enum列举类型
插入的数据只能预定义的一个 其他的就会插入空字符换
set 也是列举
但是可以从预定义的数据中插入多个,如果插入的多个其中也定义之外的 就除去。定义之中的保留
总结
1 手机号 char(11)
姓名 char(20)
价格 decimal(7,3)
文章内容TEXT
MD5:char(32)
time:int(10)
email char(32)
2 不要使用null
mysql null 浪费性能 如果整数用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;
php 连接数据库
$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 "%红%"";
如果执行的语句是 查找语句 返回的结果是一个对象 如果执行失败 返回false
如果执行的语句是 增删该 返回的结果是一个布尔类型
$result=mysqli_query($link,$sql);
执行结果SQL语句查询语句,执行成功返回对象不能直接用需要转化为使用mysqli_fetch_all()转化为数组
mysqli_fetch_all()
参数1 query的执行结果 一个对象
参数2 转化的数组的形式 MYSQLI_NUM 默认为索引数组
MYSQLI_ASSOC 为关联键位
MYSQLI_BOTH 一维索引 二维索引关联都有
$rows = mysqli_fetch_all($result,MYSQLI_ASSOC);
可以直接把读取到的数据赋值给数组或者通过字段名的形式赋值也可以
mysqli_close($link);
?>
根据类型模糊查询
根据条件模糊查询
$strs="select * from student where {$sele} LIKE '%{$value}%'";