2021年1月8日 数据约束,外键。连接查询:交叉连接,外连接。
truncate table是能删除约束产生的结果,而不是是删除约束。
比如可以删除auto_increment的计数器
===============================
default插入null值是null,而不会转成默认值。
================================
varchar尽量开2的次幂
===========
自增长约束必须是在int类型、主键上
就算插入不成功,计数器也会增加
=================
不能把主键当成序号,主键只用于标识每行,数字大小没有意义
===============
创建主键时会默认创建索引
有主键的表查出来结果会按照主键排序
unique不排序,普通索引也不排序
================
扩展:
if函数:
if(条件,条件成立的值,条件不成立的值)类似于JavaScript里的三目运算符“....?....:......”

case:
case 条件
when 条件等于第一个值 then 返回第一个值
when 条件等于第二个值 then 返回第二个值
when 条件等于第三个值 then 返回第三个值
when 条件等于第四个值 then 返回第四个值
else 返回第n个值
实例:

drop database 不能一条语句里同时删除多个数据库
============================
创建约束的两种方法:
CREATE TABLE celebs
(_id INT,
_name VARCHAR(20) DEFAULT 'Jhon Doe',
_job VARCHAR(16) DEFAULT 'Unemployed',
_gender VARCHAR(8) DEFAULT 'Unknown',
_salary DOUBLE DEFAULT 0,
CONSTRAINT PRIMARY KEY (_id)
);
以上方法可以适用于:not null,primary key,unique, default,foreign key
-------------
CREATE TABLE celebs
(_id INT PRIMARY KEY,
_name VARCHAR(20) DEFAULT 'Jhon Doe',
_job VARCHAR(16) DEFAULT 'Unemployed',
_gender VARCHAR(8) DEFAULT 'Unknown',
_salary DOUBLE DEFAULT 0
);
以上方法可以适用于:not null,primary key,unique, default
=================================
is null只用于判断是否为空,如果要将某处数据update为null是可以用=null的
================================
如果某处已有数据,这时modify字段类型,会报错,所以一定要先建表结构,再加数据
======================================
DROP TABLE IF EXISTS table1
如果table1存在,就删除他
=========================================
SHOW INDEX FROM table1;可以查看索引信息


浙公网安备 33010602011771号