java ee 2019 11 19 mysql约束 html

(day21)

1_ mysql 约束

limit 分页查询

语法 limit 的使用–方言
limit (当前索引值,每页显示条数)
比如 每页显示3条数据
查询第一页
select *from student limit 0,3;
查询第二页
select *from student limit 3,3;
当前索引值=(当前页码-1)*每页显示的条数

如果使用后台完成分页功能:分页查询
设计一个类:pagebean
成员变量:totalpage;总页数
currentpage 当前页
pageSize 每页显示的条数

利用前端框架 bootrap 提供了大量 css样式以及组件();

数据库的约束性

约束;创建表的时候给当前某个字段进行限定
数据库的常用约束
非空约束
唯一约束
主键约束
包含自增长的使用
外键约束

1)非空约束

创建一张表
创建表的时候添加
或者 通过修改表的字段类型(modify)添加约束
删除非空约束就可以输入null

		 CREATE TABLE stu2(
id INT ,
NAME VARCHAR(20) NOT NULL 

) ;

2)唯一约束

创建表时给一个字段添加唯一约束
CREATE TABLE stu2(
id INT ,
phone_number INT UNIQUE
) ;

删除担当前唯一约束比较特别
alter table stu2 drop index 之前添加唯一约束的字段

修改表字段类型 给字段添加唯一约束
alter table stu2 modify phone_number int unique

3)主键约束 primary key

特点 唯一且不为null
一般 将非业务字段设置为主键 保证数据业务字段的安全

创建的时候 id int primary key 非空且唯一
CREATE TABLE stu2(
id INT PRIMARY KEY,-- 非空且唯一
NAME VARCHAR(20),
age INT
);

删除主键约束
alter table stu2 drop primary key;后面类型不加
只删除唯一 非空依然在

再使用
ALTER TABLE stu2 MODIFY id INT ;
这样非空也被删除

修改表字段的类型时添加主键约束
add primary key
alter table stu2 modify id primary key;

4)自增长约束

id int primary key auto_increment
配合主键使用 自增
id 1
id 2
id 3
id 4
其中 id也可以手动赋值

gender varchar (2) defult ‘男’;
后面添加数据时
gender 默认为男
不输入也是 ‘男’

6)外键约束

为了保证数据的安全性 让两张表多张表产生一种关系->foreign key外键
从表(外键在的表)---------------主表
员工表 ------------ 部门表
部门表和员工表:一对多的关系 在多的一方指定一个外键字段 设置在从表上
语法:constaint 外键名称 foreign key()某个id
reference 主表名称(一般都是主键id)
只要从表中的序号在主表中存在 就不会报错

删除外键
语法 alter table 从表名称drop foreign key 外键名称;

添加外键
alter table 从表名称
add constaint 外键名称
foreign key (从表的某个)
references department(主表id)

外键的设置(两个表设计一个外键)

级联操作

级联更新 on update cascade
alter table 从表名称
add constaint 外键名称
foreign key (从表的某个)
references department(主表id)
on update cascade

级联删除
on delete cascade
级联更新 级联删除在表不是狠多的时候使用

2 _mysql多表关系

一对一:这个场景少见
身份证:
一个人对应一张身份证

一对多(多对一);订单和用户

CREATE TABLE department(
id INT PRIMARY KEY AUTO_INCREMENT,
dep_name VARCHAR(20),
dep_location VARCHAR(20)
);
INSERT INTO department VALUES(NULL,‘研发部’,‘广州’);
INSERT INTO department VALUES(NULL,‘销售部’,‘深圳’);
SELECT * FROM department;

CREATE TABLE employee(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20),
age INT,
dep_id INT,

CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCES department(id)

);
INSERT INTO employee (NAME, age, dep_id) VALUES (‘张三’, 20, 1);
INSERT INTO employee (NAME, age, dep_id) VALUES (‘李四’, 21, 1);
INSERT INTO employee (NAME, age, dep_id) VALUES (‘王五’, 20, 1);
INSERT INTO employee (NAME, age, dep_id) VALUES (‘老王’, 20, 2);
INSERT INTO employee (NAME, age, dep_id) VALUES (‘大王’, 22, 2);
INSERT INTO employee (NAME, age, dep_id) VALUES (‘小王’, 18, 2);

多对多; 学生和课程表
以后应用最多的是多对多
需要一个中间表维持他们的关系

– 1.设计学生表和课程表
– 学生表有sid,name,age字段,sid是自增长主键,name字段非空约束
CREATE TABLE student(
sid INT PRIMARY KEY AUTO_INCREMENT,
stu_name VARCHAR(20) NOT NULL,
stu_age INT
);
INSERT INTO student VALUES(NULL,‘周杰伦’,34);
INSERT INTO student VALUES(NULL,‘蔡徐坤’,23);
INSERT INTO student VALUES(NULL,‘六小龄童’,23);
INSERT INTO student VALUES(NULL,‘郑智化’,13);
INSERT INTO VALUES(NULL,‘刘先生’,29);

– 课程表有cid,name字段,cid是自增长主键,name字段非空约束
CREATE TABLE curriculum(
cid INT PRIMARY KEY AUTO_INCREMENT,
stu_name VARCHAR(20) NOT NULL

);
INSERT INTO curriculum VALUES(NULL,‘唱跳’);
INSERT INTO curriculum VALUES(NULL,‘rap’);

– 请给设计这两张表以及他们之间的关系,然后插入相关数据,并且查询每个表的信息
– 关联学生和课程
CREATE TABLE school(
sid INT,
cid INT,
PRIMARY KEY(sid,cid),
FOREIGN KEY (sid) REFERENCES student(sid),
FOREIGN KEY (cid) REFERENCES curriculum(cid)
);

3_mysql的设计

(1)三大范式

1NF
2NF
3NF

(2)数据库的备份和还原

(1)dos 命令行的方式
mysqldump -uroot-proot(数据库密码) db1(数据库名)>路径(备份)
进入dos
登陆mysql
删除当前数据库
创建一个空的数据库
使用该use数据库名
source硬盘上的路径
source f://a.sql

(2)图形界面化的方式(sqlyog)

4_前端html

hyper text Markup language 超文本标记语言
标记字体颜色 字体大小 图片 音频
标准格式:

 <html>		 根标签
	<head>
		<title>窗口标题</title>		--- 窗口标题
		<meta charset="utf-8"/>     ---设置字符集编码
	</head>
	
	<body>
		 显示部分   大量标签
	</body>

</html>

html的分类:
文本标签
超链接标签
图像标签
表格标签
表单标签

CSS

Js(DOM编程 Doument Object Model)

有开始有结束的标签-----> 有标签体的标签
标签只有在末尾/ <img src属性 =“路径” />---->空标签体

或者meta都属于空标签体
现在列举

 <p>段落标签
  <blockquote>段落缩进标签  针对上面某个段落解释说明
   <hr>水平线标签 空标签
   <marquee>滚动标签:
     属性 direction :滚动的方式
     slide     按照滚动的方向,滚动到某一边结束
     scroll   按照滚动的方向,交替滚动
     alternate 来回滚动
     scrollamount 滚动的速度
     bgcolor;背景颜色
     width;宽度
     heigth:高度
     <br>换行标签
     <pre>原样输出标签
     < 上标 sup,下标标签sub>
     <em>斜体
     <strong>加粗
      <ul  li>无序标签和有序标签
      ul有特性  type属性         默认disc(实心圆点)
      circle 空心的圆形
      square 实心正方形
<div>
--块标签 	特点:1)占一行空间 
		2)自动换行
	应用场景:后期前端工程是使用div+Css做页面布局

<span>行内标签  没有明显的效果,后期再表单验证中的用的比较多
    

     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值