




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.1安装MySQL引入动态网站,数据库交互电商网站搜索引擎搜索引擎门户网站门户网站引入MySQL是中小型网站开发首选的数据库管理系统。
MySQL有哪些特性?又如何安装呢?目录01MySQL简介02安装MySQLMySQL--最流行的关系型数据库管理系统之一。--实现多用户、多线程的结构化查询。--速度快、执行效率与稳定性高、操作简单。--体积小、速度快、跨平台、开放源码。MySQL简介MySQL简介Web开发环境1从官网下载MySQL数据库软件安装
2直接安装包含MySQL的集成开发环境MySQL简介安装MySQL安装的方式:安装MySQL从官网下载MySQL数据库软件安装MySQL官网:目前MySQL最新版本:8.0.32安装MySQLWindows中安装MySQL。示例通过MySQL官网获取安装包。安装MySQL直接安装包含MySQL的集成开发环境常用的集成环境主要有XAMPP、WampServer、AppServ等。安装简单方便,而且集成了MySQL、Apache等Web开发和运行环境。推荐使用这种方式安装MySQL,选择的是XAMPP软件。安装MySQLWindows中安装XAMPP。示例/index.htmlXAMPP下载安装MySQLXAMPP--默认安装的文件夹为“C:\xampp”。--存放MySQL服务器组件的文件夹为“C:\xampp\mysql”。--MySQL的默认登录用户为root,其密码默认为空字符串。--通过Shell登录MySQL服务器,输入命令:mysql-uroot-p小结MySQL简介关系型数据库管理系统执行效率与稳定性高、操作简单MySQL安装单独安装MySQL安装集成软件XAMPP(推荐)5.2MySQL常用语句引入数据库数据管理功能网页数据管理功能目录01创建数据库02创建表03数据操作数据库概述--存储数据的仓库--其本质是一个文件系统--数据按照特定的格式进行存储--用户可以对数据进行增删改查操作***创建数据库创建数据库服务器数据库表SQL(StructuredQueryLanguage)结构化查询语言安装数据库管理程序的电脑针对不同应用创建数据库以表为单位存储数据创建数据库CREATEDATABASE[IFNOTEXISTS]<数据库名>[DEFAULTCHARACTERSET<字符集名>][DEFAULTCOLLATE<排序规则名>]基本语法USE<数据库名>创建表字段记录键值唯一性数据表创建表基本语法CREATETABLE[IFNOTEXISTS]<表名>(字段名1数据类型[属性][索引],字段名2数据类型[属性][索引],…字段名n数据类型[属性][索引])[存储引擎][表字符集]创建表
常用数据类型类型大小说明常用描述tinyint1byte小整数值(0,255)年龄、班级人数等int4bytes大整数值学校人数、商品存库量等float4bytes单精度浮点数值身高、学费、商品价格等date3日期值(YYYY-MM-DD)出生日期、商品入库日期等char0-255bytes定长字符串,不足补空格占位性别、身份证号、订单编号等varchar0-65535bytes变长字符串,按内容实际长度用户名、收货地址等text0-65535bytes长文本数据商品详情、发表留言等示例本地服务器localhost创建数据库DuDaInfo,并在其中创建表product。创建数据库和表localhostDuDainfoproduct创建数据库和表表productCREATEDATABASEDuDaInfoDEFAULTCHARACTERSETutf8;USEDuDaInfoCREATETABLEproduct(idmediumintunsignedNOTNULLAUTO_INCREMENT,namevarchar(150)NOTNULL,cat_idsmallintNOTNULLDEFAULT0,sizevarchar(20),pricedecimal(10,2)unsignedNOTNULLDEFAULT0.00,imagevarchar(100),contentlongtext,keywordsvarchar(255),add_timedate,sorttinyintunsignedNOTNULLDEFAULT0,PRIMARYKEY(id))ENGINE=MyISAMDEFAULTCHARSET=utf8;示例代码数据库DuDaInfo存储引擎和字符集数据操作
插入表数据基本语法INSERT[INTO]<表名>[(字段名1,字段名2,...,字段名n)]VALUE|VALUES(值1,值2,...,值n)数据操作
修改表数据基本语法UPDATE<表名>SET字段名1=表达式1[,字段名2=表达式2…,字段名n=表达式n][WHERE<条件>]数据操作删除表数据基本语法DELETEFROM<表名>[WHERE<条件>]示例使用SQL语句对表product中数据进行增删改查操作。数据操作数据操作INSERTINTOproductVALUES(1,'PC008-1BENZ.withdiode',1,'93mm',2000.00,'images/pro-1.jpg','PC008-1BENZ.withdiode','PC008-1BENZ.withdiode','2022-10-11',10),(2,'PC008-3A',1,'101mm',599.00,'images/pro-2.jpg','PC008-3A','PC008-3A','2022-10-15',10),(3,'PC009-6withdiode',2,'94mm',1399.00,'images/pro-3.jpg','PC009-6withdiode','PC009-6withdiode','2022-11-15',10),(4,'PC009-3ZZ',2,'101mm',999.00,'images/pro-4.jpg','PC009-3ZZ','PC009-3ZZ','2022-12-31',10);UPDATEproductSETsize='76mm',price=796.5WHEREid=4;DELETEFROMproductWHEREid=4;Delete删除记录Update修改记录示例代码Insert添加记录数据操作查询表数据基本语法SELECT[ALL|DISTINCT]*|字段列表FROM表名[WHERE<查询条件>][GROUPBY分组字段[HAVING<分组条件>]][ORDERBY排序字段[ASC|DESC]][LIMIT[初始位置,]记录数]0数据操作SELECT*FROMproductWHEREadd_time>='2022-1-1'ANDadd_time<='2022-12-31';
SELECT*FROMproductWHEREadd_time>='2022-1-1'ANDadd_time<='2022-12-31'ORDERBY
price
DESC;SELECT*FROMproductWHEREadd_time>='2022-1-1'ANDadd_time<='2022-12-31'ORDERBYpriceDESCLIMIT0,2;SELECTcat_id,count(*)FROMproductWHEREadd_time>='2022-1-1'ANDadd_time<='2022-12-31'GROUPBYcat_id;limit记录条数select查询记录orderby排序示例代码groupby分组小结创建数据库createdatabasedbname;创建表createtabletablename(...);数据操作insert/delete/update/select5.3连接数据库引入举一反三动态网站,数据库交互理解原理主题数据,网页模板电商网站搜索引擎搜索引擎门户网站门户网站引入页面如何与数据库进行连接交互的呢?目录01引入mysql模块03断开数据库连接02创建数据库连接mysql模块--实现MySQL协议的JavaScript客户端--与MySQL数据库建立连接--执行数据操作(增删改查等功能)***引入mysql模块CMD站点目录下>npminstallmysql安装mysql模块varmysql=require('mysql');加载mysql模块引入mysql模块数据库连接数据表操作引入mysql模块数据库连接参数:属性含义host连接数据库服务器名(默认为localhost)userMySql服务器连接用户名passwordMySql服务器登录密码database要连接的数据库port连接端口号(默认为3306)charset连接使用的字符编码(默认UTF8_GENERAL_CI)timezone连接使用的时区(默认local)
mysql.createConnection()方法connection对象创建数据库连接方法与属性:方法含义connect()连接数据库query(sqlString,[values,]callback)对数据库中数据进行操作(增删改查)--sqlString-要执行的SQL语句--values-{Array},可选参数,应用到查询占位符的值--callback-回调函数function(error,result,fields){}end()在确保当前正在处理的SQL语句正常完成后断开连接destroy()立即结束连接,不管当前是否正在执行任务属性含义threadId当前连接线程Idconnection对象创建数据库连接数据库连接threadthreadconnectionlocalhostDuDaInfo示例创建与本地服务器(localhost)上数据库(DuDaInfo)的连接。创建数据库连接创建数据库连接varmysql=require('mysql');varconn=mysql.createConnection({host:'localhost',user:'root',password:'',//此处为自己数据库的密码
port:'3306',
//默认端口,可以省略不写
database:'DuDaInfo'});conn.connect(function(err){if(err){console.error('数据库连接失败!'+err.message);return;}console.log('数据库连接成功!');});填写自己设置的密码数据库事先要创建好没有错误输出提示信息示例代码示例断开与本地服务器(localhost)上数据库(DuDaInfo)的连接。断开数据库连接断开数据库连接threadthreadconnectionlocalhostDuDaInfo断开数据库连接varmysql=require('mysql');varconn=mysql.createConnection({host:'localhost',user:'root',password:'',//此处为自己数据库的密码
port:'3306',
//默认端口,可以省略不写
database:'DuDaInfo'});conn.connect(function(err){if(err){console.error('数据库连接失败!'+err.message);return;}console.log('数据库连接成功!');});conn.end();//断开连接当前正在处理的SQL语句正常完成后断开连接示例代码小结引入MySQL模块varmysql=require('mysql');创建数据库连接varconn=mysql.createConnection({});conn.connect();断开数据库连接conn.end();5.4数据库操作引入Node.js如何对数据库表中数据进行操作?目录01数据查询02数据增删改数据库操作步骤使用Node.js进行数据增、删、改和查操作。安装加载mysql模块连接MySQL服务器处理结果集分析处理结果选择数据库构造并传递SQL命令查增、删、改数据库操作实现思路创建数据库连接对象02varconn=mysql.createConnection({
host:'localhost',user:'root',password:'',//此处为自己数据库的密码
database:'DuDaInfo'});query()方法执行,参数为SQL语句04conn.query(sql,function(error,result));加载mysql模块01varmysql=require('mysql');构造SQL语句03sql='insert/delete/update/select……';varsql='SELECT*FROMproductwhereid='+pid;一般拼接SQL语句,拼接变量varsql='SELECT*FROMproduct';完整的SQL语句,如查全表数据库操作SQL语句varsql='SELECT*FROMproductwhereid=?';参数化SQL语句,?占位推荐数据库操作方法方法含义connect()连接数据库query(sqlString,[values,]callback)对数据库中数据进行操作(增删改查)--sqlString-要执行的SQL语句--values-{Array},可选参数,应用到查询占位符的值--callback-回调函数function(error,result,fields){}connection对象varsql='UPDATEproductSETprice=?,cat_id=?WHEREid=?';varsqlParams=[599,2,1];示例在product表中查询所有商品信息,并显示在控制台。数据查询-全表查询
数据查询-全表查询varmysql=require('mysql');varconnection=mysql.createConnection({host:'localhost',user:'root',password:'',//此处为自己数据库的密码
database:'DuDaInfo'});connection.connect();//全表查询varsql='SELECT*FROMproduct';connection.query(sql,function(err,result){if(err){console.log('查询出错:',err.message);return;}console.log(result);});填写自己设置的密码查询结果存储到result中数据类型为:数组示例代码示例在product表中根据商品类别号查询商品信息,并显示在控制台。数据查询-参数化查询
数据查询-参数化查询
//db.jsvarmysql=require('mysql');//引入mysql模块//创建数据库连接对象varconn=mysql.createConnection({host:'localhost',user:'root',password:'',database:'DuDaInfo'});//建立数据库连接conn.connect(function(err){if(err){console.error('数据库连接失败!'+err.message);return;}});module.exports.conn=conn;把创建的conn对象暴露出去,以供其他文件调用示例代码创建数据库连接模块db.js数据查询-参数化查询
//manage.jsvardb=require('./db.js');
//引入自定义模块db.jsvarsql='SELECTid,name,price,image,add_time,cat_idFROMproductWHEREcat_id=?';varparams=[1];//执行SQL语句db.conn.query(sql,params,function(err,result){if(err){console.error('查询商品信息出错:'+err.message);return;}
//输出查询结果(返回的是一个数组,数组元素为一个对象)console.log(result);});示例代码创建数据操作模块manage.js构造带有占位符“?”的SELECT语句定义一个数组,保存需要传递给占位符“?”的值传递给query()方法中的前2个参数示例对product表进行数据添加、修改和删除操作。数据增删改添加数据
//manage.jsvardb=require('./db.js');
//引入自定义模块db.jsvarsql='INSERTINTOproduct(name,size,price,image,cat_id,add_time)VALUES(?,?,?,?,?,?)';varparams=['PC111-1MM','55mm',555,'images/pro-5.jpg',2,'2023-1-12'];//执行SQL语句db.conn.query(sql,params,function(err,result){if(err){console.error('添加商品信息出错:'+err.message);return;}console.log('添加商品信息成功!');});示例代码传递给query()方法中的前2个参数定义一个数组,保存需要传递给占位符“?”的值构造带有占位符“?”的INSERT语句修改数据
//manage.jsvardb=require('./db.js');
//引入自定义模块db.js//构造带有占位符“?”的UPDATE语句varsql='UPDATEproductSETsize=?,price=?WHEREid=?';//定义一个数组,保存需要传递给占位符“?”的值varparams=['76mm',796.5,5];//执行SQL语句db.conn.query(sql,params,function(err,result){if(err){console.error('修改商品信息出错:'+err.message);return;}console.log('修改商品信息成功!');});示例代码修改数据的参数化SQL语句删除数据
//manage.jsvardb=require('./db.js');
//引入自定义模块db.js//构造带有占位符“?”的DELETE语句varsql='DELETEFROMproductWHEREid=?';//定义一个数组,保存需要传递给占位符“?”的值varparams=[5];//执行SQL语句db.conn.query(sql,params,function(err,result){if(err){console.error('删除商品信息出错:'+err.message);return;}console.log('删除商品信息成功!');});示例代码删除数据的参数化SQL语句增关键之处:查删改数据库操作SQL语句的构建,语法规则相同connection.query()执行SQL语句,返回结果存储到回调函数第2个参数中connection.query(sqlString,[values,]function(error,result){......})小结数据查询思路和代码数据增删改SQL语句构建与执行5.5查询商品信息引入如何将数据库中的数据查询出来显示在Web页面上?目录01实训需求02实训步骤03实现过程实训需求查询DuDaInfo数据库中的product表数据,通过Web页面实现商品信息的展示。实训步骤局部安装mysql模块02编写客户端代码04准备静态页面模板01编写服务器端代码03运行项目,查看页面效果05包含CSS样式、图片、JS文件和HTML页面网上下载或自行设计静态页面模板0102index.html,产品展示区域呈现四个商品信息首页中进行商品布局设计<sectionclass="product"><!--注意父元素class属性--><ul>
<li>......</li><li>......</li><li>......</li><li>......</li></ul><section>03分析商品数据布局标签结构:sectionulli实现过程1.准备静态页面模板CMD站点目录下>
npminstallmysql本地安装mysql模块varmysql=require('mysql');加载mysql模块2.局部安装mysql项目实现server.js
用于构建Web服务器
接收到客户端请求时查询数据
发送响应数据到客户端3.编写服务器端代码项目实现//创建Web服务器varhttp=require('http');varserver=http.createServer();server.on('request',function(request,response){
//解决跨域问题,*表示所有地址都可以访问response.setHeader('Access-Control-Allow-Origin','*');
response.writeHead(200,{'ContentType':'application/json;charset=utf-8'});
响应数据为JSON格式项目实现server.js服务器端代码
//创建数据库连接对象varmysql=require('mysql');//引入mysql模块varconn=mysql.createConnection({host:'localhost',user:'root',password:'',//此处为自己数据库的密码
database:'DuDaInfo'});//建立数据库连接conn.connect(function(err){if(err){console.error('数据库连接失败!'+err.message);return;}});项目实现server.js(续1)服务器端代码
//编写SQL语句(查询最新上架的4个商品的数据)
varsql='SELECT*FROMproductORDERBYadd_timeDESCLIMIT0,4';
//执行SQL语句conn.query(sql,function(err,result){if(err){console.log('查询商品数据出错:'+err.message);return;}
//输出查询结果(返回的是一个数组,每个元素为一个对象)console.log(result);
response.end(JSON.stringify(result));});conn.end();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 摩电安全教育班会
- 地震创伤课件
- 手机制作旅游攻略
- 物业公司管理制度汇编初稿
- 支气管镜基本操作
- 手足病传染与预防教案
- 山东省德州市宁津县孟集中学2024-2025学年八年级下学期3月月考历史试题(无答案)
- 态度类培训课程
- 提升营销渠道效益的策略
- 中国烷基改性硅油市场发展格局与投资前景趋势预测报告2025-2031年
- 安全工器具检查表
- 许慎《说文解字》(全文)
- 保健院业务部门绩效考核实施方案(试行)及质量控制指标
- 马鞍山东站站房工程指导性施工组织设计
- 人防工程基本知识(PPT184页)
- 山东中医药大学中医学(专升本)学士学位考试复习题
- 高一班守纪律讲规矩主题班会
- 电力电缆工程施工作业危险点辨识及预控措施手册
- 研究生英语综合教程(下)1-10单元全部答案及解析
- 光伏电站验收申请及验收报告样板
- flow10.1教程DFM
评论
0/150
提交评论