当前位置:Gxlcms > 数据库问题 > 【黑马程序员】第4课:MySQL入门

【黑马程序员】第4课:MySQL入门

时间:2021-07-01 10:21:17 帮助过:48人阅读

         1js创建函数的两种方式

 

         2js函数的重载

 

         3js的全局函数(会用)

 

         4html绑定事件三种方式

 

         5js里面的常用的事件(会用)

                   **重点  onsubmit

        

         6dom是什么

 

         7dom解析标记型文档的过程(**

 

         8dom里面的对象documentelement、属性、文本node

         9DTHML 是很多技术的简称

 

         10document对象四个方法

 

         11innerHTML属性 做两件事情

 

         12)表单的提交方式

         13)表单的验证

                   *按钮是submit,使用onsubmit事件

                   *button按钮验证

 

         14json数据(*********

                   *json格式

                   *js解析json数据

思维导图

技术分享

     

1、数据库介绍

         *什么是数据库:是一个文件系统,使用标准sql对数据库进行操作

         *常见的数据库:

         **oracle:是oracle公司的产品,是收费的软件

         **DB2: ibm公司的产品,收费的软件

         **SQLServer:是微软产品,是中型的数据库

         **mysql:被oracle公司收购,在mysql6.0版本开始收费了。

         **sysbase:保留一个软件,建模的软件。

         **SQLite:小型的嵌入式的数据库,一般用在客户端开发中,比如安卓

 

         *共同的名字:关系数据库

         **存储的是:实体之间的关系

         **比如购物网站:用户、订单、商品

 

         *画图说明实体之间的关系(ER图)

 

2mysql数据库的存储的结构

         *数据库

         *数据库表

         *表中的记录

 

         *在数据库服务器上可以还有多个数据库,在数据库里面有多个数据库表,

         在每个数据库表里面有多条记录

        

         *学习是 对数据库、数据库表、表中的记录进行crud的操作

 

3mysql数据库安装和卸载

         *建议安装mysql5.x版本

         *day04的资料里面提供mysql的安装文档

 

         *mysql的卸载:

         **首先找到mysql的安装路径,找到一个配置文件 my.ini

                   找到两个路径

                   datadir="C:/ProgramData/MySQL/MySQLServer 5.5/Data/"

                   basedir="C:/ProgramFiles (x86)/MySQL/MySQL Server 5.5/"

         **其次,打开电脑的控制面板,找到卸载程序,进行卸载

         **第三,删除上面两个路径的所有文件

         **第四,打开注册表

                   regedit

                   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

                   HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services

                   HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services

                   搜索mysql,找到一律删除!

         **第五,需要重启电脑

 

         *如果想要操作mysql数据库,首先需要连接数据库

         **首先打开cmd窗口

         **使用命令连接mysql数据库

                   ***mysql -u root -p 回车(注意不要加分号,会出错 ,会提示输入密码,密码

                   正确之后就可以连接数据库

 

4sql介绍

         1 标准sql:使用标准sql的语句,不仅可以在mysql数据库里面使用,也可以在oracledb2里面都可以使用

         2StructuredQuery Language, 结构化查询语言

         *非过程性语言:不需要依赖于任何的条件,就可以直接运行

         **比如在java里面

                   if(i> 3) {

                            system........

                   }

        

         3sql的分四类

         * DDL (数据定义语言)

                   ** 使用的语句 create语句

         * DML (数据操纵语言)

                   ** 使用的语句 insert update delete

         * DCL (数据控制语言)

                   ** 使用的语句 grant....

         * DQL (数据查询语言)

                   ** 使用的语句只有一个 select

         4sql注释

                   /**/

5、数据库操作

         1)创建和查看

                   *创建数据库 create database 数据库的名称;

                   ==create database mydb1;

 

                   *查询数据库 show databases;

                           

         2)删除和切换

                   *删除数据库 drop database 数据库的名称;

                   *切换数据库(如果创建表,这个表肯定要在一个数据库里面,所以切换到数据库)

                            **use 要切换的数据库的名称;

                   动作  database  数据库名;

 

6、数据库表的操作

         1)创建数据库表

         **语句: create table 表名称 (

                            字段1名称 字段类型[约束],

                            字段2名称 字段类型[约束]

                   )

 

         **mydb2数据库里面创建一个表 user

         ***首先切换到mydb2数据库 use mydb2

         ***create table user (

                   id  int,

                   username varchar(40),

                   sal int

         );

        

         2mysql的数据类型

                   * 字符串型

                   VARCHARCHAR

                   **name varchar(20)/char(30)

                   **字符串类型指定长度

                   **varcharchar区别:

                   ***char长度是固定的,varchar的长度是可变的

                   比如 name varchar(20)/char(20)

                   ****如果类型char(20),现在name的值aa,存储方式 aa加很多的空格

                   ****如果类型varchar(20),现在name的值aa,存储方式 aa后面没有空格

 

                   * 大数据类型

                   BLOBTEXT

                   **一般用于存储文件,在实际开发不会把文件直接存到数据库,一般是将文件的

                            路径存入到数据库中,否则文件如果过大势必造成数据库运行效率降低。

 

                   * 数值型

                   **不需要指定长度,默认的长度

                   TINYINTSMALLINTINTBIGINTFLOATDOUBLE

                   对应java里面: byte       short  int   long    float double

                   **id int

 

                   * 逻辑性

                   BIT对应java里面的boolan

 

                   * 日期型

                   DATE:用于表示日期

                   TIME:用于表示时间

                   DATETIME:用于表示日期和时间

                   TIMESTAMP:用于表示日期和时间(日期和时间不需要手动添加,系统可以自动添加当前的时间)

 

         3)查看表结构  desc 表名称;

         +----------+-------------+------+-----+---------+-------+

         |Field    | Type        | Null | Key | Default | Extra |

         +----------+-------------+------+-----+---------+-------+

         |id       | int(11)     | YES |     | NULL    |      |

         |username | varchar(40) | YES  |     | NULL   |       |

         |sal      | int(11)     | YES |     | NULL    |      |

         +----------+-------------+------+-----+---------+-------+

 

         4mysql的约束,写在数据类型的后面。

         *mysql里面有三个约束

         第一:非空约束 not null

                   usernamevarchar(40) not null,

 

         第二:唯一性约束unique

 

         第三:主键约束primary key(表示数据不能为空,不能重复)

                   usernamevarchar(40) primary key,

                   *自动增长:auto_increment

 

         *创建带约束的表

                   createtable person (

                            idint primary key,

                            namevarchar(40) not null,

                            salint

                   )

         +-------+-------------+------+-----+---------+-------+

         |Field | Type        | Null | Key |Default | Extra |

         +-------+-------------+------+-----+---------+-------+

         |id    | int(11)     | NO  | PRI | NULL    |       |

         |name  | varchar(40) | NO   |    | NULL    |       |

         |sal   | int(11)     | YES |     | NULL    |      |

         +-------+-------------+------+-----+---------+-------+

        

         5)查询数据库里面的表show tables;

 

         6)删除数据库表 drop  table 表名称;

 

7、表中的记录的操作

         1)向表中添加记录

                   *使用语句 insert into  表名称 values(1,2);

                   **使用insert语句插入数据时候注意的地方:

                   ***如果数据的类型是int类型直接写值

                   ***如果数据类型是varchar类型和日期类型,需要使用单引号把值括起来

 

                   *person表里面插入一条数据

                   **insert into person values(100,‘zhangsan‘,2000);

 

                   *自动增长和timestamp类型操作

                   **创建一个表 user

                   createtable user (

                            idint  primary key auto_increment,

                            username  varchar(40) not null,

                            times  timestamp

                   )

 

                   insertinto user values(null,‘lisi‘,null);

                   insertinto user values(null,‘zhaoliu‘,null);

 

         2)修改表中的记录

                 *使用语句:update 表名称 set 字段名称1=1,字段名称2=2  where 条件

                   *修改user表里面id=1username修改为wangwu

                   **update user set username=‘wangwu‘ where id=1

 

                   *修改person表里面id=100name修改为lucysal修改为555

                   **update person set name=‘lucy‘,sal=555 where id=100

                  

                   insertinto person values(101,‘东方不败‘,444);

                   insertinto person values(102,‘岳不群‘,666);

                   insertinto person values(103,‘林平之‘,777);

 

                   *练习

                   将所有员工薪水修改为5000元。

                   =update person set sal=5000;

 

                   将姓名为’林平之’的员工薪水修改为3000元。

                   =update person set sal=3000 where name=‘林平之‘;

 

                   lucy的薪水在原有基础上增加1000元。

                   =update person set sal=sal+1000 where name=‘lucy‘;

 

         3)删除表中的记录

                   *使用语句:delete from 表名称 where .....

 

                   *练习

                   删除表中名称为’lucy’的记录

                   =delete from person where name=‘lucy‘;

 

                   删除表中所有记录

                   =delete from person;

 

         4)查询表中的记录(今天最重要的内容)

                   *使用语句:select 字段名称/*(所有字段) from 要查询的表名称 where.....

                     ##select中的字段,可以不是表中切切实实有的字段,可以是任意表达##

                   *创建一个表stu

                   createtable stu (

                            idint primary key,

                            sname varchar(40),

                            math int,

                            chinese  int,

                            english  int

                   )

 

                   insertinto stu values(1,‘紫衫龙王‘,80,100,120);

                   insertinto stu values(2,‘金毛狮王‘,100,20,10);

                   insertinto stu values(3,‘白眉鹰王‘,60,50,80);

                   insertinto stu values(4,‘青翼蝠王‘,40,80,30);

                   insertinto stu values(5,‘金大牙‘,60,30,80);

 

                   *练习

                   查询表中所有学生的信息。

                   =select * from stu;

 

                   查询表中所有学生的姓名和对应的英语成绩。

                   =select sname,english from stu;

                  

                  

                   *查询的别名 使用 as 起的名字

                   =select sname as s,english as e from stu;

 

                   *查询里面的关键字 distinct,去除表中重复的记录

                   =select distinct * from p1;

                   **创建一个没有约束表

                   createtable p1 (

                            idint,

                            namevarchar(40)

                   )

        

        

         5)根据条件进行查询

                   *查询id值是1的记录

                   =select * from stu where id=1;

 

                   *在进行条件查询的时候有关键字

                   **and:并且

                   ***查询学生英语成绩是10,并且数学成绩是100信息

                   =select * from stu where english=10 and math=100;

                  

                   **or: 或者

 

                   **in:数据所在的范围(指的是枚举,不是连续的

                   ***查询数学成绩是80100学生的信息

 

                   **like:进行模糊查询的操作

                 **%表示匹配任意字符,_表示匹配一个字符。

                   ***查询表中名称里面包含“金”的数据

                   =select * from stu where sname like ‘%%‘;

 

                   **not 类似java里面 if(!flag){}

 

                   **显示当前的数据库 select database();

                     只有在use 数据库名,即选择了数据库后,这个语句才会显示当前数据库。

=================================================================================

         1)数据库的介绍

         2sql分四类

        

         3)创建数据库

         4)查看数据库

         5)切换数据库

         6)删除数据库

 

         7)创建数据库表

         8mysql的数据类型

                   *varcharchar

                   *timestamp:自动生成当前时间

         9)创建带约束的表

                   *有三个约束 非空、唯一、主键

         10)删除数据库表

         11)查看数据库里面的表

 

         12)插入记录 insertinto 表名 values();

                   *如果类型int,直接写值

                   *如果是字符串和日期,使用单引号包起来

         13)更新记录 update 表名 set 字段= where....

         14)删除记录 deletefrom 表名 where...

 

         15)查询表中的记录(***)

                   *select 字段名称/* from 表名 where....

                   *and

                   *in

                   *or

                   *like

                   *not

 

8、使用cmd向表中添加记录

         *如果有中文报错

         **解决方法:

         **首先找到mysql安装路径,在路径下面找到一个配置文件 my.ini

                   (因为要对这个文件进行修改,建议先备份这个文件)

         **打开这个文件,不要使用记事本打开

         **找到default-character-set值修改为gbk

 

9、表记录的排序

         *使用语句 order by 要排序字段 asc/desc,要写在select语句的最后

         **默认是升序排序

         =select * from stu order by id asc;

         =select * from stu order by id desc;

 

10mysql聚集函数

         1count():统计表中有多少条记录

         =select count(*) from 表名;

 

         *练习

         统计一个班级共有多少学生?

         =select count(*) from stu;

 

         统计数学成绩大于60的学生有多少个?

         =select count(*) from stu where math>60;

 

         2sum(): 数据进行相加的操作

         *练习

         统计一个班级数学总成绩?

         =select sum(math) from stu;

 

         统计一个班级语文、英语、数学各科的总成绩

         =select sum(chinese),sum(englist),sum(math) from stu;

 

         统计一个班级语文成绩平均分

         =select sum(chinese)/count(*) from stu;

 

 

         3max(): 得到最大值

         *练习

         计算班级中数学的最高分

         =select max(math) from stu;

 

         4min(): 得到最小值

         *练习

         计算班级中英语的最低分

人气教程排行