对于数据库而言,都是通过数据表进行数据的存储的。
数据表如何和一个对象进行对应
每一张数据表多数情况都是一个类。
类中的每一个属性就是数据表中每一个字段。
对于数据表而言,都必须有一个不能重复的字段作为主键(建议将主键设置为一个没有任何意义的字段,通常会使用一个自动递增的id字段作为主键)。
对象之间的关系也要进行存储
对象与对象之间的关系有:
1、1对1关系:外键可以存储在任意一个表中
2、1对多关系:在多的一端增加外键
3、多对多关系:需要增加中间表进行关联
1、数据表的创建
1.1、常用数据类型
·int表示整型
·float表示浮点类型
·varchar表示字符串类型
·text表示文本类型
·binary表示二进制类型
·date表示日期类型(仅仅只表示年月日)
·time表示时间的时分秒
·datetime表示存储的是日期和时间(和timestamp类似)
1.2、数据表的命名规则建议断字使用下划线,user_id,创建表的名称,普通表建议使用t_xxx来命名,t_user,temp_user
CREATE TABLE IF NOT EXISTS t_user( id int(11) PRIMARY KEY AUTO_INCREMENT, username varchar(20), password varchar(20), nickname varchar(30));
2、删除表
drop table xxx;
3、修改表结构
添加字段
alter table t_user add address varchar(100);
删除字段
alter table t_user drop column address;
修改字段
alter table t_user CHANGE nickname nname varchar(50);
改变字段顺序
alter table t_user modify address varchar(100) after password;
4、查询表
show tables; 查询数据库中的所有表
desc t_xxx; 查询表结构
5、创建关联表
创建一个对象
public class Student { int id; String name; String no; Date born; int claId;}public class Classroom{ int id; String name; int grade;}
DROP TABLE IF EXISTS t_student;DROP TABLE IF EXISTS t_classroom;CREATE TABLE t_classroom( id int(10) PRIMARY KEY AUTO_INCREMENT, name varchar(50), grade int(10));CREATE TABLE t_student( id int(11) PRIMARY KEY AUTO_INCREMENT, name varchar(50), no varchar(50) NOT NULL, born datetime, cla_id int(10), CONSTRAINT FOREIGN KEY (cla_id) REFERENCES t_classroom (id));