MySQL总结
SQL的分类:
DDL:数据库的定义,与数据库/表结构,create,drop,alter
DML:数据操纵语言,操作表数据,insert,update,delete
DCL:数据控制语言,设置用户的访问权限,安全
DQL:数据查询语言,select from where …
数据库:
创建数据库:create database …(数据库的名字)
删除数据库:drop database …(数据库的名字)
修改数据库:alter database character set …(字符集)
查看数据库:show database 查看所有数据库
查看数据库定义,show create database…(数据库名字)
select database();查看当前正在使用的数据库
选中数据库:use …(数据库的名字)
表的结构:
创建表:create table 表名{列名 列的类型(长度) 约束
列名2 列的类型(长度) 约束
}
列的约束:主键约束(primary key);唯一约束(unique);非空约束(not null)
删除表:drop table 表名
修改表:
添加列 alter table 表名 add 列名 列的类型 列的约束
修改列 alter table 表名 modify 列名 列的类型 列的约束
修改列名:alter table xx change old new 类型 约束
删除列:alter table xx drop 列
修改表的字符集:alter table xx character set 字符集
修改表名:rename table old to new
查看表:
show tables,查看当前数据库中所有的表名
show create table 表,查看表的定义结构/创建语句
desc 表名,查看表的结构
表中数据的CRUD操作:
插入数据:
insert into 表(列1,列2) values(值1,值2)
insert into 表 values(值1,值2)
批量插入:insert into 表 values(值1,值2),(值1,值2) …
删除数据:
delete from 表 [where 条件]
truncate table 表,先删除表,再重建表
更新数据:update 表 set 列=值,列=值[where 条件]
查询数据:
通用格式:select [distinct] [*] [列1,列2] from 表 where 条件 group by …having 条件过滤 order by 排序
关系运算符:
<> 不等于
!= 不等于
逻辑运算符:and or not
in在范围中
模糊查询:
_表示的单个字符
%表示的多个字符
别名查询 as
聚合函数:
sum:求和
avg():平均值
count():统计数量
max():最大值
min():最小值
排序 order by:
asc:ascend 升序
desc:descend 降序
字符和日期型数据应包含在单引号中。
delete语句仅删除记录,不删除表的本身。如果要删除表,使用drop table 语句
distinct 去重
JDBC总结
JAVA Database Connectivity java 数据库连接
Sun公司提供的一种数据库访问规则、规范,由于数据库种类较多,并且java语言使用比较广泛,sun公司就提供了一种规范,让其他的数据库提供商去实现底层的访问规则。我们的java程序员只要使用sun公司提供的jdbc驱动即可。
步骤:
//1、注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2、建立连接
//DriverManager.getConnection(“jdbc:mysql://localhost/test?user=monty&password=greatsqldb”);
//参数一:协议+访问的数据库 参数二:用户名 参数三:密码
conn=DriverManager.getConnection(“jdbc:mysql://localhost/student”,“root”,“root”);
//3、创建statement,跟数据库打交道,一定需要这个对象
st=conn.createStatement();
//4、执行SQL,得到结果集
String sql=“select * from t_stu”;
rs=st.exeuteQuery(sql);
//5、遍历结果集
while(rs.next()){
int id=rs.getInt(“id”);
String name=rs.getString(“name”);
int age=rs.getInt(“age”);
}
//6、释放资源
if(rs!=null){
try{
rs.close();
}catch(Exception e){
rs=null;
}
}
statement安全机制问题:
1、Statement执行,其实是拼接SQL语句的,先拼接SQL语句,然后在一起执行。
String sql = “select * from t_user where username=’”+ username +"’ and password=’"+ password +"’";
UserDao dao = new UserDaoImpl();
dao.login(“admin”, “100234khsdf88’ or '1=1”);
SELECT * FROM t_user WHERE username=‘admin’ AND PASSWORD=‘100234khsdf88’ or ‘1=1’
//前面先拼接sql语句, 如果变量里面带有了 数据库的关键字,
//那么一并认为是关键字。 不认为是普通的字符串。
rs = st.executeQuery(sql);
PrepareStatement
该对象就是替换前面的statement对象
相比于以前的statement,预先处理给定的SQL语句,对其执行语法检查。在sql语句里面使用?占位符来代替后续要传递进来的变量。后面进来的变量值,将会被看成是字符串,不会产生任何的关键字。
String sql = “insert into t_user values(null , ? , ?)”;
ps = conn.prepareStatement(sql);
//给占位符赋值 从左到右数过来,1 代表第一个问号, 永远你是1开始。
ps.setString(1, userName);
ps.setString(2, password);
BootStrap总结
JQ:write less do more 写更少的代码,做更多的事情 javascript函数库。
层级选择器:
后代选择器:选择器1 选择器2 找出来的选择器1 下面的缩影选择器2 ----子孙
子元素选择器:选择器1>选择器2 找出来的是所有的子节点 ----儿子
相邻兄弟选择器:选择器1+选择器2 找出来的紧挨着自己的弟弟。
兄弟选择器:选择器1~选择器2 找出所有的弟弟
(找出所有兄弟:$(“div”).siblings())
基本的过滤器: 选择器:过滤器 $(“div:first”)
:first : 找出第一个元素
:last 找出最后一个元素
:even 找出偶数索引
:odd 找出奇数
:gt(index) greater-than大于
:lt(index) 小于
:eq(index) 等于
表单选择器:
:input 找出所有的输入项, textarea select button
:password
:text
:radio
表单对象属性的过滤器
:selected
:checked
常用函数:
属性prop() properties
如果传入一个参数 就是获取
prop(“src”,"…/img/1.jpg");
设置图片路径
attr : 操作一些自定义的属性
prop: 通常是用来操作元素固有属性的 ,建议大家使用prop来操作属性
css() ; 修改css样式
addClass() : 添加一个class样式
removeClass() : 移除
blur : 绑定失去焦点
focus: 绑定获得焦点事件
click:点击
dblclick:双击
change:改变
append : 给自己添加儿子
appendTo : 把自己添加到别人家
prepend : 在自己子节点最前面添加子节点
after : 在自己后面添加一个兄弟
before: 在自己前面添加一个兄弟
$(“数组对象”).each(function(index,data))
$.each(arr,function(index,data))
Json:javaScript Object Notation,是一个轻量级的数据交换格式。它基于ECMAScript的一个子集。Json采用完全独立于语言的文本格式,但是也是使用了类似于C语言家族的习惯(包括C、C++、C#、java、JavaScript、Perl、Python等等)。这些特征使json成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
//json对象
{key,value}
{“username”:“zhangsan”,“password”:“123456”}
//json数组
[{key1,value1},{key1,value1},{key1,value1}]
BootStrap作用:复制粘贴,能够提高开发人员的工作效率。
响应式页面:适应不同的分辨率显示不同样式,提高用户的体验。
<link rel="stylesheet" href="../css/bootstrap.css" />
<!--需要引入JQuery-->
<script type="text/javascript" src="../js/jquery-1.11.0.js" ></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script type="text/javascript" src="../js/bootstrap.js" ></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
BootStrap的栅格系统:
响应式设计:这种设计依赖于CSS3中的某提查询。
栅格样式:
设备分辨率大于1200使用lg样式。
设备分辨率大于992<1200使用md样式
设备分辨率大于768<992使用sm样式
设备分辨率小于768使用xs样式
BootStrap的全局CSS
定义了一套CSS
对页面中的元素进行定义
列表元素,表单,按钮,图片。