A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 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;
        


               



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马