本帖最后由 小石姐姐 于 2018-5-11 09:42 编辑
bootstrap 模态框:两种弹出方式1.data-target 2.JQ中调用
标签/tab页:
swiper滑动插件!!!开源的...
MySQL
关系型数据库:
MySQL
Oracle
SQLServer
DB2
SyBase
mysql -uroot -p默认连接本地服务器,省略了两个参数:1.-h hostname 2.-P port
操作数据库:
创建:create database db1 [character set 字符集 collate 字符集校对规则];
查看:show databases;
查看定义信息:show create database 数据库名称;
修改:alter database 数据库名称 character set 字符集 collate 校对规则;
删除:drop database 数据库名称;
其他操作:
切换:use 数据库名称;
显示当前数据库:select database();
操作表:
创建:create table 表名称(字段名称 字段类型(长度) 约束,.....);
查看:show tables;
查看表结构:desc 表名;
修改表:
*添加列:alter table 表名 add 列名 类型(长度) 约束;
*修改列:alter table 表名 modify 列名 类型(长度) 约束;
删除列:alter table 表名 drop 列名;
修改列名称:alter table 表名 change 旧列名 新列名 类型(长度) 约束;
修改表名: rename table 表名 to 新表名;
修改字符集:alter table 表名 character set 字符集;
字段类型:java MySQL
byte/short/int/long tinyint/smallint/int/bigint
float float
double double
boolean bit(0,1)
char/String char/varchar
Date date/time/datetime/timestamp
File blob/text
char和varchar区别:
char:固定长度的字符或字符串.数据<长度用空格补全,>长度则报错.
varchar:存的数据长度是多少,该长度就是多少.
datetime和timestamp区别:
datetime:如果没有存值,则自动存入null
timestamp:如果没有存值,则自动存入系统时间.
default current_timestamp on update current_timestamp
单表约束:
主键约束:primary key
唯一约束:unique
非空约束:not null
操作表记录:
添加记录:1.insert into 表名 (字段1,字段2) values (值1,值2);
2.insert into 表名 values (值1,值2,....);表中所有列且与列顺序一致
修改记录;update 表名 set 列名=值,...[where 条件];默认表中所有记录被修改
删除记录:delete from 表名 [where 条件];默认删除表中所有记录
delete from和truncate table的区别:前者可恢复,后者不可以.
truncate属于DDL delete属于DML
查看记录:
基本查询:select[distinct]* | 列名 from 表名;
条件查询:where子句 >,<,>=,<=,<>,= like in and or not
(在like中使用_%,_表示一个字符,%表示任意个字符)
排序查询:order by asc/desc
分组统计查询:group by ... having 条件(可以使用聚合函数)
sum()注意ifnull的使用
select sum(ifnull(English,0)+math+chinese) from test;
count()
max()
min()
avg()
修改密码:
1.mysqld --skip-grant-tables
2.重新打开DOS窗口use mysql;
3.update user set password=password('新密码') where user='root';
4.关闭窗口,结束任务管理器mysqld的进程树
数据库备份:
mysqldump -uroot -p 数据库名称 >备份路径;
数据库还原:
第一种:mysql -u root -p 数据库名称 <导入路径;
第二中:1.创建数据库,并切换
2.source 导入路径;
添加外键:
alter table employee add foreign key(dno) references depe(did);
工作中一般不添加外键,一般在代码上添加逻辑.
如果要删部门,需要查看部门下是不是有员工,,,然后根据实际情况进行代码编写.
一对多:
在多的一方创建外键指向一的一方的主键.
多对多:
需要创建第三张表(中间表),在中间表中至少两个字段,
这两个字段分别作为外键指向多对多双方的主键.
一对一:
1.唯一外键对应
2.主键对应(不建议使用,其携带业务含义)
多表查询:
连接查询:
1.交叉连接:select * from 表1 cross join 表2;
select * from 表1,表2;
*2.内连接:inner join(inner可以省略)
显示内连接:使用关键字
select * from 表1 inner join 表2 on 关联条件;
隐式内连接:没有使用关键字
select * from 表1,表2 where 关联条件;
*3.外连接:outer join(outer可以省略)
左外连接:select * from 表1 left outer join 表2 on 关联条件;
以左表为基准,根据关联条件匹配右表的数据.
右外连接:select * from 表1 right outer join 表2 on 关联条件;
*子查询:查询语句条件依赖另一个查询语句.
1.带in
2.带exists
3.带any
4.带all
事务:
开启:start transaction;
提交:commit;
回滚:rollback;
事务:指的是逻辑上的一组操作,组成这组操作的各个逻辑单元,
要么全都成功,要么全都失败。
事务的特性(ACID):
原子性:事务不可分割.组成事务的各个逻辑单元不可分割.
一致性:事务执行前后,数据完整性保持一致.
隔离性:事务执行不应该受到其他事物的干扰.
持久性:事务一旦提交,数据就永久保存到数据库.
脏读:一个事物读到了另一个事务未提交的数据,导致查询结果不一致.
不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致多次查询结果不一致
虚读/幻读:一个事务读到了另一个事务已经提交的insert的数据,导致多次查询结果不一致
隔离级别:
read uncommitted:脏读,不可重复读,虚读有可能发生
read committed:避免脏读
repeatable read:避免脏读,不可重复读
serializable:避免脏读,不可重复读,虚读.隔离级别最高,效率最低.
设置隔离级别:set session transaction isolation level 事务级别;
查看隔离级别:select @@tx_isolation;
|
|