本帖最后由 小石姐姐 于 2018-1-24 15:06 编辑
数据库回忆 关系型的数据库存放的都是实体之间的关系 数据库存储的结构 通常一个应用就会创建一个数据库 应用中有一个实体创建一个表 有一个实体对象就有一条记录 SQL结构化查询语言 DDL 数据定义语言create alter drop DML 数据操纵语言 update insert delete DCL 数据控制语言 if(判断语句) DQL 数据查询语言 select SQL语句的特点 非过程性语言 一条语句就会有一条运行结果 使用SQL操作数据库 使用SQL操作数据库中的表 使用SQL操作数据局中表记录的crud 创建数据库 重点 create database(characterset字符集(utf-8)collate字符集校对) 查看数据库 查看数据库所有的数据库 show databases 查看数据库的语句 show create database 数据库名称 查 看正在使用的是哪个数据库 select database() 删除数据库 drop database 数据库名称 修改数据库 修改的是数据库的字符集和校对规则 切换数据库 use 数据库的名称 使用SQL操作数据库中表的操作 字段名值得是名称(属性) 数据的类型 char 和varchar的区别 char是固定长度的,varchar是可变长度的 java MySQL float float double double boolean bit 0和1 date date/time datetime/timestamp 文本文件 text 二进制文件 blob datetime/timestamp 既有日期又有时间的类型 datetime 需要使用外部传入的日期 如果没传 默认是null timestamp 会使用系统的当前时间作为这个值的默认值 MySQL中除了字符串需要设置长度,其他的都有默认长度 约束: 主键约束 primary key(默认就是唯一非空的) 唯一约束 unique 非空约束 not null; 创建表之前要先选择数据库 创建表 查看数据库中有哪些表 show tables 查看表结构 dest 表名 表的删除 drop table 表名 修改表 添加列 alter table 表名 add 列名类型(长度)约束 删除列 alter table 表名 drop 列名 修改类型长度和约束 alter table 表名 modify 列名类型(长度) 约束 修改表名 alter table 表名 change 旧列名新列名 类型(长度)约束 修改表名 rename table 旧表名 to 新表名 修改标的字符集 alter table 表名charactor set 使用SQL操作数据库中表的记录 插入记录 inset into 表名 (列名,列名)values(值1,值2)插入指定列的值 insert into 表名 values(值1,值2) 插入所有列的值 注意事项: 列名的个数要和值的个数对应 列的类型与值的类型对应,位置也要对应 列的数据类型如果是字符串或者日期,写值得时候使用单引号将值引起来 插入值的长度不能超过列的最大值 插入中文 会报错 解决办法: 1、修改当前的编码 2、MySQL的配置文件找到安装路径的my.ini 客户端的编码 重新加载MySQL的配置文件,停止MySQL的服务,然后再启动MySQL 修改记录 updata 表名 set 列名=值(where 条件) 注意事项: 列名何值类型也要一致 值不能超过列的最大长度 值的字符串或日期,需要加单引号 删除记录 delete from 表名(where条件) 注意事项: 删除的是一行记录,不能删除某列值 如果没有条件删除表中所有的记录 删除所有记录 delete from 表名 删除表的记录 一条一条的删除 删除后 数据可以回滚回来 truncate table 表名 删除表的记录,将整个记录删除,重新创建一个新的表 查询记录 select * 列名 from 表where条件 select(distinct)去重查询 带有条件的查询 条件的关键字 = < > <= >= <> like 中可以使用占位符 _ 和% like '张_' like'%张'下划线查询的一个字符,百分号可以匹配多个字符 排序 order by 对数据进行排序,默认为升序 降序 desc 升序默认为 asc 聚合函数 sum() count() max() min() avg() 分组查询: group by having 是分组后再查询 select from where group by having order by limit 多表的设计 表与表之间的关系(实体与实体之间的关系) 一对多 : 客户与订单一个订单可以产生多个订单,一个订单只能属于一个某 一个客户 多对多 : 一个学生可以选择对门课程,一门课程可以被多个学生选择 一对一 : 一个公司只能有一个注册地址,一个地址只能被一个公司注册 多表的设计: 一对多的关系建表的原则: 在多的一方创建一个字段,这个字段作为外键执向一的一方的主键.(外键,保证数据的完整性) 在多的一方创建一个外键,id指向一方的主键 多对多 创建一个第三方表,创建一个第三种表,中间表中至少需要两个字段分别作为外键执向多对多双方的各自的主键. 创建第三个表格 ,中间表至少需要两个字段,分别作为外键指向多对多双方的各自主键 外键的作用是保证数据的完整性 添加外键的两种方式 第一种在建表的时候直接添加外键 第二种使用SQL语句添加。 一对一: 唯一外键对应的方式 主键对应 多表查询的SQL语句 多表查询的方式: 连接查询: 交叉连接: select *from A,B 获得的是两个表的笛卡尔积 内连接: inner join 显式内连接 select* from A inner join B on 条件 分别取一个名字(c 和 o) select * from customs c inner join order o onc.cid= o.cid 隐式内连接 select * from A ,B where 条件 select * from customs c ,order o where c.cid =o.cid 外链接 outer join 左外连接: select * from A left outer join B on 条件(主键和外键相等) 右外链接 右边表的全部和两个表的交际 select * from A right outer join B on 条件 JQuery是js 的一个框架,对js进行了封装 JQuery的语法 JQuery的入门 引入JQuery的js JS对象 JQ对象 【JQuery的入门】 Ø 引入Jquery的js文件. <scriptsrc="../../js/jquery-1.11.3.min.js"></script> Ø JQuery的入口函数: // 传统的JS的方式:页面加载的事件只能执行一次. /*window.onload= function(){ alert("aaa"); } window.onload =function(){ alert("bbb"); }*/ // JQuery的方式:相当于页面加载的事件,可以执行多次.效率比window.onload要高. //window.onload 等页面加载完成后执行该方法. //$(function(){}):等页面的DOM树绘制完成后进行执行. // $相当于JQuery $(function(){ alert("aaa"); }); $(function(){ alert("bbb"); }); 【JS对象和JQ对象的转换】 window.onload =function(){ // 传统JS方式: var d1 = document.getElementById("d1"); // JS对象的属性和方法: // d1.innerHTML = "JS对象的属性"; // d1.html("aaaaaa"); // 将JS对象转成JQ的对象. $(d1).html("JS对象转成JQ对象"); } $(function(){ var $d1 = $("#d1"); // $d1.html("JQ对象的属性"); // 转成JS的对象: // 一种方式 // $d1[0].innerHTML = "将JQ的对象转成JS对象"; // 二种方式: $d1.get(0).innerHTML = "将JQ的对象转成JS对象的方式二"; }); Ø JQ的效果操作: * show(); * 使用一:Jq对象.show(); * 使用二:Jq对象.show(“slow”); // slow,normal,fast * 使用三:Jq对象.show(毫秒值); //1000 * 使用四:Jq对象.show(毫秒值,function(){}); * hide(); * 使用一:Jq对象.hide(); * 使用二:Jq对象.hide(“slow”); // slow,normal,fast * 使用三:Jq对象.hide(毫秒值); //1000 * 使用四:Jq对象.hide(毫秒值,function(){}); * slideDown(); --向下滑动 * 使用一:Jq对象.slideDown(); * 使用二:Jq对象.slideDown(“slow”); // slow,normal,fast * 使用三:Jq对象.slideDown(毫秒值);// 1000 * 使用四:Jq对象.slideDown(毫秒值,function(){}); * slideUp(); --向上滑动 * 使用一:Jq对象.slideUp(); * 使用二:Jq对象.slideUp(“slow”); // slow,normal,fast * 使用三:Jq对象.slideUp(毫秒值);// 1000 * 使用四:Jq对象.slideUp(毫秒值,function(){}); * fadeIn(); --淡入 * 使用一:Jq对象.fadeIn(); * 使用二:Jq对象.fadeIn(“slow”); // slow,normal,fast * 使用三:Jq对象.fadeIn(毫秒值);// 1000 * 使用四:Jq对象.fadeIn(毫秒值,function(){}); * fadeOut(); --淡出 * 使用一:Jq对象.fadeOut(); * 使用二:Jq对象.fadeOut(“slow”); // slow,normal,fast * 使用三:Jq对象.fadeOut(毫秒值);// 1000 * 使用四:Jq对象.fadeOut(毫秒值,function(){}); * animate(); --自定义动画 * toggle(); --单击切换函数 * Jq对象.toggle(fn1,fn2...);单击第一下的时候执行fn1,单击第二下执行fn2...
JQuery的DOM操作 常用的方法有 append()在某个元素添加内容 appendTO()添加到某个元素后面 remove()删除某个元素 html()覆盖元素内容 遍历的方式 遍历方式一: $.each(objects,function(i,n){ }) 遍历的方式二: $("").each(function(i,n){ })
|