1、数据类型 char()、varchar()、nvarchar()的区别
(1) char(45):字符串长度必须为45,存"Hello",实际存”Hello000000......“。
(2) varchar(45):可变长度的,最长是45,实际存”Hello“,数据库最多存8000个字节,varchar存8000个字符。
(3) nvarchar(45):n宽字节,一个字符占两个字节,最多存4000个字符。
2、设置默认数据库的两种方法
(1)
(2)
3、建表约束
1、主键 primary key:值唯一,每个表只有一列主键,不允许为空
2、唯一 unique:可以有多列唯一列,值唯一,可以为空
3、默认值 default
4、非空 not null :值不为空
5、自增 auto_increment 每次增加1,自动增加 删掉的数不会重新使用,继续增加
6、外键约束 foreign key:表中的列跟其他表中的列有关系
4、数据库一些对表的操作
1、创建表 create table 表名
2、修改表
(1)增加列:alter table 表名 add column 列名 数据类型 约束
(2)修改列:alter table 表名 modify 列名 数据类型约束
(3)删除列:alter table 表名 drop 列名
3、删除表 drop table 表名
4、插入表元素
(1)插入全部数据: insert into 表名 values(数据)
(2)插入部分列数据: insert into 表名(列名1,列名2...) values(数据1,数据2.....)
5、修改表元素:update 表名 set 列名 = 新的数据 where 条件表达式
6、删除表元素:delete from 表名 where 条件
7、查询表元素
(1)查询所有列:select* from 表名
(2)查询指定列:select 列名,列名 from 表名
(3)给查询的列起别名:select 列名 别名,列名 别名 from 表名8、条件查询:where 条件表达式
相等
不相等:列名!= 值
或者:条件1 or 条件2
并且:条件1 and 条件2
在两者之间:between 条件1 and 条件2
在范围内:in(范围)
不在范围内:not in(范围)
5、数据库范式
1、常见名词
属性-->特征--->表中的一列--->字段
元组:表中的一行就叫一个元组
码:表中唯一确定一个元组的属性,码不止一个,叫这些为候选码
主码:从候选码挑选出来一个主要确定这一行的属性
主属性:只要在任何一个候选码中出现过,这个属性就叫做主属性
非主属性:没有任何一个候选码中出现过
2、数据库范式
(1)第一范式(1NF)属性不可分
(2)第二范式(2NF)不存在组合关键字中的某些字段决定非关键字段(组合关键字不可拆)
(3)第三范式(3NF)不存在依赖传递
(4)BCNF(鲍依斯-科得范式):不存在关键字段决定关键字段