第二阶段 2019 4.2 数据库
数据Data
数据库Database
什么是不必要的冗余?
栗子:现在有一个学生表,里面有学生的id 学号 姓名 班级 班级位置 班级号 班级的楼层
在这个表里: 班级 班级位置 班级号 班级的楼层 这些数据存储时全都是一样的,这些数据就称为不必要的冗余。
数据库的优点
数据类型的分类
tinyint 一般用来存 性别 0 1 权限 0 1 2 3 这些不会超过255的
char和varchar的区别?
char 定长字符串类型
varchar 变长字符串类型 表头上面的长度写完的时候 只要在长度范围内, 用于输入多少 就占多少内存空间 内存分配是按照存储数据大小来定的。 Varchar是不会浪费的 char则是固定那么大。
SQL语句是什么?
重点:SQL语法的组成
java工作说白了就是写DML的
熟练掌握DML DCL DDL
创建表 语法:
sql语句
create table 表明(
字段名01\表头名01 数据类型(长度)约束,
字段名02\表头名02 数据类型(长度)约束,
字段名03\表头名03 数据类型(长度)约束,
)
实例:
create table students(
id int not null,
name varchar(255) not null,
sex int not null,
age int not null,
tel varchar(255)
)
ppt上面事例是错的!
最后无需加分号。
而且最后一个括号前不需要加逗号!
如何修改表结构:
改表要慎重!!!
添加一列:
添加主键
添加默认值:默认值一般用于注册时,默认性别为男 等等。
修改列名
删除某一列
删除主键:
删除表:
约束:
主键约束 Primary key
非空约束 Not Null
唯一性约束 Unique
外键约束Foreign Key
完整性约束 auto_increment
约束的类型需要掌握!
非空约束。
非空约束的两种方法:
第二种方法
唯一性约束
constraint 约束的关键字!
主键一定要选对系统无意义的,不能重复的这种数据 比如id这种。如果给年龄之类的改了,和别人重复了会出错。
alter table CommodityInfo add constraint Commodity_Category_CategoryID_fk Foreign Key (CategoryID) References Commodity_Category(CategoryID);
主键与外键的区别
建立数据库遇到的问题总结:
用SQL语句建列的时候 如果属性为datetime 则无法创建,但是用naviCat可以创建datetime类型,
然后datetime类型无法设置长度,怎么改都会变成0
1.数据库的定义?
用于存放数据的仓库
2.数据库的分类?
纯文本数据库 关系型数据库 非关系型数据库
3.数据库的数据类型?
数字 日期 时间 字符串 文本
4.创建表的语法?
create table 表名(字段1 类型 约束)
5.数据库与数据之间的关系?
答:。。。。
6.更改表的结构(添加列)语法?
alter table 表名 add 列名 类型(长度) 约束
7.修改某一列的默认值(倒着念一遍)?
alter table 表名 alter 列名 set default 值
8.约束的种类?
非空 主键 外键 唯一
9.约束的关键字?
Constraint
10.删除表里面某一个列?
drop 列名
11.什么是重写?
子类继承父类 方法名及参数列表一致。覆盖方法体