数据库知识
关键字的顺序
书写顺序: select from where group by having order by limit
执行顺序: from whee group by having select order by limit
在标准SQL语句中 不允许在where后面使用列的别名
约束
约束的参照范围从左到右是逐渐变大的: 单列->单表(行与行)->多表
学习约束的三方面: 作用 添加 删除
1.域级约束
(1)域级约束_非空约束
关键字: NOT NULL 作用: 限定某个字段/列的值不允许为空 语法: 列名 + NOT NULL
这里穿插一下遇到的问题: 报错信息如下:
1 queries executed, 0 success, 1 errors, 0 warnings 查询:create table emp( e_name varchar(20) not null, e_age tinyint ) desc emp 错误代码: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc emp' at line 6 执行耗时 : 0 sec 传送时间 : 0 sec 总耗时 : 0 sec
SQL是以分号为标志 作为一句代码执行的 这里我相当于是把建表和查看表结构放在一条语句了 表都没有创建好 怎么查看表结构呢?? 以后一定要记得分开执行
怎么看我的非空约束 NOT NULL 是否正的起作用了呢? 通过: DESCRIBE 表名 查看表结构即可
可以看到e_name的NULL为NO 说明该字段的值不能为NULL 即NOT NULL 约束生效了
(2)域级约束_默认值约束
思考:插入空会不会给默认值?? 插入NULL 代表显示的赋值 不会给默认值