1.varchar 写成 verchar;
2.Invalid default value for 'userId' 想把数字类型的userId的默认值改为NULL
3.创建表的时候,写最后一个条件不要加“,”
添加主码
第一种,直接在字段后面加
第二种,在最后面加
注意事项:给表添加主键,如果该属性值是数字型,在最后添加,默认会是0,如果直接在属性后面添加,默认是NULL;
添加默认值,唯一值,不为空
看数据库的表:show tables;
ALTER(修改表结构):
修改表名:alter table t1 rename t2;
字段名:alter table 表名 change 字段名 修改后的字段名 类型; (要记得加类型)
字段数据类型:alter table 表名 modify 字段名 类型;
添加字段:alter table 表名 add 新字段名 类型 after 字段名;
删除字段:alter table 表名 drop 字段名;
添加主键:ALTER TABLE 表名 ADD PRIMARY KEY(字段名);
添加外键:alter table 需加外键的表 add constraint 外键名 foreign key(需加外键表的字段
名) referencnes 关联表名(关联字段名);
修改字段顺序:
删除外键约束:
插入:insert into 表名(字段1,字段2,…) values(值,…),(),…where 条件;
更新:update 表名 set 字段=值,...where 条件;
删除:delete from 表名 where 条件;
看表的结构:describe 表名
SELECT(查询表):
select 字段… from 表名 where 条件 (or 字段 in(值1,值2…) or 字段 between 值1 and 值2) order by 字段名 desc(降序)|asc (group by 字段名)limit 起始位置,查询条数
注意limit要写在所有语句后面
内连接没有空值,外连接有空值
内聚函数不能出现在where语句中
内连接查询
case:
case
when 条件 then 返回值
…
end
if:if(条件,真,假)
表1 join 表2 on 条件
用查询的时候倒是挺快就写过了。
有几个知识点注意一下 in 不or和and快,同时in可以用嵌套,推荐使用in
一个特别垃圾的错误,delimiter 最后要隔一个空格再打分号,就很迷