黑马程序员技术交流社区

标题: 【石家庄校区】课程总结 [打印本页]

作者: 1015747546    时间: 2018-5-9 15:32
标题: 【石家庄校区】课程总结
本帖最后由 小石姐姐 于 2018-5-11 09:40 编辑

【石家庄校区】课程总结

BS
【 disabled 】-----不可选中和点开;Carousel----图片轮播-----JS插件
预定义样式
**【默认样式】---Default【首选项】-----Primary【成功】-----Success【一般信息】-----info【警告】-------Warning【危险】-----Danger【链接】------Link**
            **#数据库========**
概述:数据库就是一个文件系统  通过标准的SQL语句获取数据;                        #MYSQL概述----是关系型数据库管理系统;
关系型数据库 保存的就是 实体之间的关系;
关系型数据库:ER模型:E:Entity    R:Relational;
常见的关系型数据库


MySQL;

Oracle

SQLServer;

DB2;

SyBase;

#安装了MySQL的电脑被称为是MySQL数据库服务器;
在数据库服务器内部  通过数据库存储数据  通常情况下一个应用创建一个数据库;
修改数据库
语法: alter database 数据库名称 character  set 字符集  collate  校对规则;
删除数据库
语法: drop
创建表查看表
show tables;desc user --- 查看表结构;
约束
**
tab页 就是 标签页】
索引框--轮播图---模态框---标签页
SQL是结构化查询语言:
是一种特殊目的的编程语言 是一种数据库查询和程序设计语言   用于存取数据 以及 查询   更新 和 管理 关系数据库;  SQL--同时也是数据库 脚本文件的 扩展名;
#SQL的分类:
**                                         创建数据库  删除数据库   DDL -- 数据定义语言---- create   drop        alter                                                授权DCL----数据控制语言----grant   if                                        插入                        更新                        删除DML----数据操纵语言----insert    update   delete                                                查询DQL----数据查询语言----select**
操作数据库SQL存储方式:
一个项目创建一个数据库在数据库中  一个应用一个数据库  在数据库中用表存储数据   一个实体一个表;    在一个表中  有多条记录  创建一个实体实例对象 会创建一个新记录;
表的创建“
【表的创建 和 修改】----修改表结构
** 添加列 ; ---  alter table 表名 add 列名 类型(长度) 约束;**修改列类型 长度 和 约束 :---- alter table 表名 modify 列名 类型(长度)约束;对表的记录进行操作:插入中文记录的解决办法:
   将MYSql数据库服务器中的客户端部分的字符集进行修改为 gbk ;        [client ]port = 3306;                [Mysql]default - character - set =gbk;        
修改表记录
语法:update 表名 set 列名=值,列名=值 【where 条件】;【字符串类型和日期类型 添加单引号】
删除表记录
语法 : delete from 表名 【where 条件】;默认删除表中所有记录----需要有条件 ---- delete from 表名 --属于DML ---逐条删除;
truncate table user ----- 删除表中所有记录 --- 属于 DDL---不可恢复;--直接删除表  然后创建新表;查询表记录 重要】:  select 查询对象 * 列名 from 表 where 条件 ;
**基本查询----- select * from 表名 ....
条件查询select * from 表名 where 条件;排序查询select * from 表名  order by asc/desc  [升序 / 降序] ;分组统计查询**
group by --  去重---distinct常用的表修改----【添加列 / 添加字段】---【修改列】【swiper---滑动触摸插件网站】【自动增长 --- auto_increment】
【对原有程序进行添加 延伸   不能对原有代码 进行修改】
查看表记录 -----  select * form user;恢复被 delete from user 删除的记录----rollback按条件删除  修改条件查询
使用 where  字句;
模糊查询
like  在like字句中  可以使用 _或%--- _代表一个字符 % 可以代表任意个字符 ;  范围查询 --- in ;[ and  or  not ]---并列
排序查询-- --  默认升序     desc --- 降序;
**  order by 字段名称 asc / desc ;**
【分组统计查询】聚合函数查询---------selecet **
sun();---求和--------null 加任何值  都为  null; ifnull(有null的元素)--将null变为0;**count ---统计个数**----做分页用max ()min ()avg ()---平均值
分组查询:
group by 字段名称;from orderitem group by带有聚和函数的条件过滤 --- having ;
总结  S(select)...F(from)...W(where)...G(grouop by)...H(having)...O(order by);多表约束
作用 ;用来保证数据的完整性的。
表与表的关系“一对多的关系介绍:
**  建表原则: 在多的一方创建外键 指向一的一方的主键;**
多对多的建表原则:
需要创建中间表 中间表中至少两个字段 分别作为外键指向多对方的主键;
多表查询分类---1. 链接查询 ---- - cross join
交叉链接 : 查询到的是两个表的笛卡尔积; 语法:  select * from  表1   cross join 表二 ;select * from 表一 , 表二;
2. **内连接 ---  inner join
  显示内连接: 在SQL中显示的调用inner join 关键字;**   语法: select * from 表1 inner join 表2 on 关联条件;        隐式内连接: 在SQL中没有调用 inner join 关键字;        语法: selec  t * from 表1,表2 where 关联条件;
3. 外链接 --- outer join (outer 可以省略)
左外链接:--- 语法: select * from 表1 left outer join 表2 关联条件;右外链接: ---- 语法: select * from 表1 right outer join 表2 on 关联条件;
一对一的关系建表原则:
建表原则: 1 唯一外键对应 : 假设是一对多  在多地一方创建外键指向一的一方的主键  将外键设置为 unique          2  主键对应  将连个表的主键建立对应关系即可;
将一个表外键指向另一个表的主键 ----
** alter table employee   add foreign key (dno) references dep (did);**
在实际开发中   ---- 删除部门前  先将其下属员工进行手动删除 清除干净后   再 将部门进行删除;数据库的设计  永远在开发前;多表访问 ------------重点
建表前  先分析 表之间的联系和类型    依据分析建表;
多对多 需要建一个中间表  来完成联系 --- 外键指向  目标主键
==================================================
多表查询======================================内连接  表达的是 两个表的交集的部分   根据关联条件 去两个表中匹配  有对应关系的 记录  有则返回   没有则不返回;语法: select * from 表1 inner join 表2 on 关联条件;---不常用
  ** select * from 表一 , 表二 where 关联条件   **
左连接 ---- left
left outer jion ----- 以左边表格为基准进行查询 匹配到 则返回 匹配不到则返回 null
右连接 ----- right
right outer jion --- 以 右边表格为基准; 匹配到 则返回 匹配不到则返回 null
内外连接的区别:子查询
**1. 带 in 的子查询: ---- 常用select * from     where cid IN(select cno from sudent where birthday > '1991-01-01');
查询
=============================
事务事务的特性: ----- ACID特性【】【】
原子性 ---- 事务不可分割一致性 ---- 执行前后 数据完整保持一致隔离性 ----- 事务的执行 不能受到其他干扰 --- 讲的是并发持久性 ------ 事务结束  数据持久化到数据库;
安全性问题:脏读 ---- 数据未提交  交易已完成不可重复读 ---- 读取到了其他事务的 update 虚读   ------  读取到了
隔离级别
设置隔离级别 ------  set session transaction isolation level  隔离语句;查看隔离级别 ---- select @@x_isolation;read uncommittedread committedrepeatable readser
重置MySQL密码:
停止MySQL服务 --- 在cmd下启动MySql服务【mysql --skip-grant-tables 】 ---- 重开cmd的命令行 (不需要密码 )[mysql -u root   -p]---  修改root密码【use mysql; -- update user set password = password('123') where user = 'root';】---- 结束进程 ----  重启服务;
数据库的备份和还原数据库的还原
1.** 第一种还原方式: 1 -- 在数据库服务器内部创建数据库【create database web_test1;】----2 在命令行窗口【mysql -u root -p web_test1 < C:/web_test1.sql   】**2.第二种还原方式 : 1 -- 在数据库服务器内部创建数据库 【create database web_test1;】 ---- 2 切换到该数据库使用 source命令还原  【 use web_test1;  source C:/web_test1.sql 】
可视化数据库的操作在运行窗口进行 服务器的关闭/重启;
net stop ---关闭net start---开启
SQL语句
**DDL -- create  drop alter... --定义语言DCL -- grant   if...  控制语言DML -- insert   update   delete...  操纵语言DQL -- select ..... 查询语言**
语法:
File  ----  BLOB / TEXT约束:作用 - 保证数据的完整性
修改表 {
**1.** 添加列: alter teble 表名 add 列名  类型(长度)约束;
benutils
重点
【两种做法: 1. delete from user ; 删除所有 属于DML语句 依次删除 可以作用在DML语句上的  2. truncate table user;  删除所有记录 属于DDL 将表删除 然后创建一个结构一样的表 事物不能控制DDL的 ;】
查看表的记录(重点重点重点)(distinct)--- 去除重复的值;where  的子句后面不能 跟着聚合函数    如果现在使用带有聚合函数的条件过滤 (分组条件过滤)  需要使用一个关键字 having;总结  ;
S(select)...F(from)...W(where)...G(group by)...H(having)...O(order by);







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2