一、操作数据表
1、查看数据表
语法:show tables;
2、创建数据表
注意:要先进入数据库才可创建数据表
语法格式:
CREATE TABLE table_name(
column1(字段名1) datatype(数据类型)[contrai(约束条件)],
column2(字段名2) datatype(数据类型)[contrai (约束条件)],
.....
columnn(字段名n) datatype(数据类型)[contrai(约束条件)], PRIMARY KEY(one or more columns)
)[character set 字符集];
字符集不设置的话是默认设置
3、查看表的创建语句
语法:show create table 表名;
4、查看表的结构
语法:desc 表名;
5、修改表名
语法:rename table 原表名 to 新表名;
【注意:有时出错是因为没有获得修改权限,可以使用下面修改方式:
alter table 原表名 rename to 新表名; 】
6、新增数据表字段
语法:alter table 表名 add 列名 类型 [约束条件];
7、修改数据表字段
语法:alter table 表名 change 原字段名 类型 [约束];
注意:如果原字段名和新字段名一样的,表示不改字段名,只改字段类型和约束,此时和modify作用一样
语法:ALTER TABLE 表名
MODIFY 列名 类型 [约束];
MYSQL数据库中的表的结构是可以修改的,数据库中的某一字段移动至表的首列或者是另一字段之后的方法:
移动某字段之后的语句为:ALTER TABLE MODIFY AFTER ; 并回车。
将字段移动至首列则输入:ALTER TABLE MODIFY FIRST; 并回车。
8、删除数据表字段
语法:alter table 表明 drop 字段名;
数据库的使用步骤:
1、创建一个数据库—>选择库
2、设计表
3、表中有哪些字段
4、字段用什么数据类型表示
5、字段需要添加什么约束条件
6、多张表需要考虑表之间的关系-------外键—》主键
7、插入数据
8、数据的增删改查
二、数据范式
数据库中使用数据表范式的主要目的是为了减少数据冗余、提高数据的一致性和完整性,并简化数据的维护操作。通过范式设计,可以将数据分解到不同的表中,使得每份数据只在一个地方存储,从而大大减少了数据冗余。
范式设计的作用主要体现在以下几个方面:
- 减少数据冗余:在数据库设计中,数据冗余意味着在数据库中存储了重复的数据,这不仅占用更多的存储空间,还增加了维护的复杂性。范式设计通过将数据分解到不同的表中,确保每个数据只存储一次,从而减少了存储空间的浪费和维护的复杂性。
- 避免插入异常:如果数据库设计不合理,可能会遇到无法插入数据的情况。例如,一个存储学生和课程信息的表,如果一个新学生还没有选课,就无法添加这个学生的信息。范式设计通过将相关数据分开存储,可以避免这种插入异常。
- 避免更新异常:不合理的设计可能会导致更新数据的困难。例如,如果需要修改一门课程的信息,可能需要在多个地方进行修改。范式设计通过将相关数据分开存储,可以简化更新操作。
- 避免删除异常:不合理的设计可能会导致删除数据的困难。例如,如果需要删除一门课程,可能会意外删除相关的学生信息。范式设计通过将相关数据分开存储,可以避免这种删除异常。
数据库范式的具体内容如下:
- 第一范式(1NF):确保数据表中每个字段的值具有原子性,即不可再拆分的最小数据单元。
- 第二范式(2NF):在第一范式的基础上,确保非主属性完全依赖于码。
- 第三范式(3NF):在第二范式的基础上,确保非主属性不依赖于其他非主属性。
三、案例-设计用户订单商品表
合理设计一个订单商品数据表
数据模型分析思路
每张表记录的数据内容
分模块对每张表记录的内容进行熟悉,相当于你学习系统需求(功能)的过程。每张表重要字段设置
非空字段、外键字段
数据库级别表与表之间的关系
外键关系
表与表之间的业务关系
在分析表与表之间的业务关系时候,一定要建立在某个业务意义的基础上进行分析
数据模型:
- 订单表orders:记录了创建的订单(购买商品的订单)
- 订单明细表orderDetail:记录了订单的详细信息,即购买商品的信息【外键 orders_id, items_id】