第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库

数据Data
第二阶段 2019 4.2 数据库

数据库Database
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库

什么是不必要的冗余?

栗子:现在有一个学生表,里面有学生的id 学号 姓名 班级 班级位置 班级号 班级的楼层
在这个表里: 班级 班级位置 班级号 班级的楼层 这些数据存储时全都是一样的,这些数据就称为不必要的冗余。

数据库的优点
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
数据类型的分类

第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库

tinyint 一般用来存 性别 0 1 权限 0 1 2 3 这些不会超过255的

第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库

char和varchar的区别?

char 定长字符串类型
varchar 变长字符串类型 表头上面的长度写完的时候 只要在长度范围内, 用于输入多少 就占多少内存空间 内存分配是按照存储数据大小来定的。 Varchar是不会浪费的 char则是固定那么大。
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库

SQL语句是什么?

第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库

重点:SQL语法的组成

第二阶段 2019 4.2 数据库
java工作说白了就是写DML的

熟练掌握DML DCL DDL

第二阶段 2019 4.2 数据库

创建表 语法:

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)
)

第二阶段 2019 4.2 数据库

ppt上面事例是错的!
第二阶段 2019 4.2 数据库

最后无需加分号。
而且最后一个括号前不需要加逗号!
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库

如何修改表结构:

改表要慎重!!!

第二阶段 2019 4.2 数据库

添加一列:
第二阶段 2019 4.2 数据库

添加主键
第二阶段 2019 4.2 数据库

添加默认值:默认值一般用于注册时,默认性别为男 等等。
第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库

修改列名
第二阶段 2019 4.2 数据库

删除某一列
第二阶段 2019 4.2 数据库

删除主键:
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库
删除表:
第二阶段 2019 4.2 数据库


约束:

主键约束 Primary key
非空约束 Not Null
唯一性约束 Unique
外键约束Foreign Key
完整性约束 auto_increment

第二阶段 2019 4.2 数据库

约束的类型需要掌握!

非空约束。

第二阶段 2019 4.2 数据库

非空约束的两种方法:

第二阶段 2019 4.2 数据库

第二种方法

第二阶段 2019 4.2 数据库


唯一性约束

第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库

constraint 约束的关键字!


第二阶段 2019 4.2 数据库
第二阶段 2019 4.2 数据库

主键一定要选对系统无意义的,不能重复的这种数据 比如id这种。如果给年龄之类的改了,和别人重复了会出错。

第二阶段 2019 4.2 数据库


第二阶段 2019 4.2 数据库


第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库
alter table CommodityInfo add constraint Commodity_Category_CategoryID_fk Foreign Key (CategoryID) References Commodity_Category(CategoryID);
第二阶段 2019 4.2 数据库

主键与外键的区别

第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库

第二阶段 2019 4.2 数据库

建立数据库遇到的问题总结:

用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.什么是重写?
子类继承父类 方法名及参数列表一致。覆盖方法体