当前位置: 首页 > news >正文

岳阳卖房网站如何搭建一个app平台

岳阳卖房网站,如何搭建一个app平台,it培训机构出来的好找工作吗,地方网站类型MySQL数据库存储 MySQL数据库简介MySQL开发环境MySQL安装图形化界面工具Navicat使用 表的操作表的概念3.2 创建表3.3 修改表 数据的操作-增删改查4.1 增加数据4.2 删除数据4.3 修改数据4.4 查询数据4.4.1 基础查询4.4.2 分组查询和聚合函数4.4.4 having语句4.4.5 排序4.5 多表联… MySQL数据库存储 MySQL数据库简介MySQL开发环境MySQL安装图形化界面工具Navicat使用 表的操作表的概念3.2 创建表3.3 修改表 数据的操作-增删改查4.1 增加数据4.2 删除数据4.3 修改数据4.4 查询数据4.4.1 基础查询4.4.2 分组查询和聚合函数4.4.4 having语句4.4.5 排序4.5 多表联合查询4.5.1 子查询4.5.2 关联查询4.5.2.1 inner jion4.5.2.2 left join Python连接MySQL5.1 pymysql执行增删改操作5.1.1 添加数据5.1.2 修改数据5.1.3 删除数据5.2 查询操作 5.3 封装一个简单的DBHelper MySQL数据库简介 数据持久化MySQL是关系型数据库MSSQL, Oracle,等等… MySQL开发环境 MySQL安装 官网下载安装包。 链接: https://dev.mysql.com/downloads/MySQL的图形化界面工具navicat 图形化界面工具Navicat使用 表的操作 表的概念 关系型数据库中, 数据都是以表格的形式进行存储。 例表学生学号(唯一标识)姓名生日家庭住址电话号等信息 OK. 按照这个规则来看. 每一条数据对应的就是一个人的信息. 3.2 创建表 创建表有两种方案: 用SQL语句创建表格create table table_student(sno int(10) primary key auto_increment,sname varchar(50) not null, sbirthday date not null,saddress varchar(255),sphone varchar(12),class_name varchar(50), )数据类型: 数据类型说明int整数double小数varchar字符串date时间(年月日)datetime时间(年月日时分秒)text文本 约束条件: 数据类型说明primary key主键, 全表唯一值auto_increment主键自增.not null不可以为空.null可以为空default设置默认值 用Navicat图形化工具建表 3.3 修改表 SQL方式 添加一列 ALTER TABLE table_name ADD COLUMN column_name datatype删除一列 ALTER TABLE table_name DROP COLUMN column_name修改一列的数据类型 ALTER TABLE table_nameMODIFY COLUMN column_name datatype表格重命名 ALTER TABLE table_name RENAME TO new_nameNavicat方式 在表上右键点:Design Table然后根据说明更改 数据的操作-增删改查 4.1 增加数据 INSERT INTO table_name(col1, col2, ccol3...) values (val1,val2,val3)添加学生信息 INSERT INTO STUDENT(sname, sbirthday, saddress, sage, class_name) values (周杰伦, 2020-01-02, 北京市昌平区, 18, 二班);如果主键设置自增, 就不用处理主键了. mysql会自动照自然顺序进行逐一自增. 4.2 删除数据 DELETE FROM table_name where 条件语句删除sno 1的学生信息 DELETE FROM STUDENT where sno 1 ; 4.3 修改数据 UPDATE table_name SET col1 val1, col2 val2... where 条件语句修改sno 1的学生的名字信息 UPDATE STUDENT SET SNAME 王力宏 where sno 1;修改和删除数据的时候一定要带上where条件不带条件的修改和删除就是对全表更新、删除 4.4 查询数据 4.4.1 基础查询 SELECT *|col1, col2, col3 FROM table_name where_条件全表查询 SELECT * FROM STUDENT;查询学生表的某一字段姓名、年龄 SELECT sname, sage FROM STUDENT;根据学号查询学生信息 select * from student where sno 1;查询年龄大于20的学生信息 select * from student where sage 20; and查询学生年龄大于20 小于40的信息(包含) select * from student where sage 20 and sage 40; select * from student where sage between 20 and 40 ;查询姓张的学生信息_一位字符串%多位字符串 select * from student where sname like 张%;4.4.2 分组查询和聚合函数 分组group by不能单独使用会报错需配合聚合函数 select * from table_name group by col_name5种聚合函数, 分别是: avg(), sum(), min(), max(), count()avg()查询每一个组的平均年龄 select avg(sage), class_name from STUDENT group by class_name;min()查询每个组最小的年龄 select min(sage), class_name from STUDENT group by class_name;max()查询每个组的最大年龄 select max(sage), class_name from STUDENT group by class_name;count()查询每个组的学生数量 select count(*), class_name from STUDENT group by class_name;sum()查询每个组的年龄和 select sum(sage), class_name from STUDENT group by class_name;****不要把没有放在group by的内容直接放在select中。先分组按分组信息进行查询原来的字段未分组放进select中组表显示就显得混乱。 4.4.4 having语句 having语句对聚合函数计算的结果进一步的筛选查询平均年龄在15岁以上的组信息 select avg(sage), class_name from student group by class_name having avg(sage) 15;having和where的区别:where是在原始数据上进行的数据筛选。而having是在聚合函数计算后的结果进行筛选。 4.4.5 排序 order by语句对查询结果进行排序.asc按照年龄从小到大查询学生信息 select * from student order by sage ascdesc按照年龄从大到小查询学生信息 select * from student order by sage desc4.5 多表联合查询 数据库表结构设计范式, 第三范式每个表的结构相对明确. 不存在歧义. 数据保存完整, 没有冗余按此建表: 学生表: 学号, 姓名, 性别, 住址等…课程表: 课程编号, 课程名称, 授课教师等…学生课程-成绩表: 成绩表编号, 学号, 课程编号, 成绩 在该模型表结构中. 成绩表是非常重要的. 在成绩表中, 明确的说明了哪个学生的哪一门课程得了多少分. 它将两个原来毫不相关的表关联了起来. 建立了主外键关系.主外键关系: 把A表中的主键放在另一张表里作为普通字段使用, 但数据要求必须来自于A. 建表语句: -- 创建学生表, 课程表, 成绩表 -- 1. 学生表: 学号, 姓名, 性别, 住址等... -- 2. 课程表: 课程编号, 课程名称, 授课教师等... -- 3. 学生课程-成绩表: 成绩表编号, 学号, 课程编号, 成绩 create table stu(sid int primary key auto_increment,sname varchar(50) not null, gender int(1),address varchar(255) );create table course(cid int primary key auto_increment,cname varchar(50) not null, teacher varchar(50) );create table sc(sc_id int primary key auto_increment,s_id int, c_id int,score int,CONSTRAINT FK_SC_STU_S_ID FOREIGN key(s_id) REFERENCES stu(sid),CONSTRAINT FK_SC_COURSE_C_ID FOREIGN key(c_id) REFERENCES course(cid) ); 4.5.1 子查询 ​ 在where语句中可以进行另外的一个查询. ​ 例如, 查询选择了编程这门课的学生 -- 查询选择了编程这门课的学生 -- 先查询编程课程的编号 select cid from course where cname 编程; -- 根据cid可以去sc表查询出学生的id select s_id from sc where c_id 2; -- 根据学生ID查询学生信息 select * from stu where sid in (1,2,3,4,5,6);-- 把上面的sql穿起来 select * from stu where sid in (select s_id from sc where c_id in (select cid from course where cname 编程) );-- 查询课程名称为“编程”且分数低于60的学生姓名和分数 select stu.sname, sc.score from stu, sc where stu.sid sc.s_id and sc.score 60 and sc.c_id in (select cid from course where cname 编程 ) 4.5.2 关联查询 把多个表格通过join的方式合并在一起进行条件检索。 A表和B表连接. 通过A表的字段1和b表的字段2进行连接。 on后面的都是主外键关系 select ... from A xxx join B on A.字段1 b.字段24.5.2.1 inner jion -- 查询每门课程被选修的学生数 -- count(*) -- group by cidselect c.cid,c.cname, count(*) from sc inner join course c on sc.c_id c.cid group by c.cid, c.cname4.5.2.2 left join -- 查询所有学生的选课情况 select s.sname, c.cname from stu s left join sc on s.sid sc.s_id left join course c on sc.c_id c.cid-- 查询任何一门课程成绩在70分以上的姓名、课程名称和分数 -- score 70 sc -- sname student -- cname course select s.sname, c.cname, sc.score from stu s inner join sc on s.sid sc.s_id inner join course c on sc.c_id c.cid where sc.score 70Python连接MySQL python用pymysql模块连接mysql安装pymysql pip install pymysqlpymysql基本使用: import pymysql# 链接数据库 conn pymysql.connect(hostlocalhost,port3306,userroot,passwordtest123456,databasespider_back ) # 创建游标游标执行增删改查 cursor conn.cursor()5.1 pymysql执行增删改操作 5.1.1 添加数据 try:cursor conn.cursor()result cursor.execute(insert into stu(sname, address, gender) values (张三, 恒大别野, 1))print(cursor.lastrowid) # 获取自增的ID值print(result) # result是该sql会影响多少条数据conn.commit() # 提交 except:conn.rollback() # 回滚5.1.2 修改数据 try:cursor conn.cursor()result cursor.execute(update stu set gender 2 where sid 12)print(result) # result是该sql会影响多少条数据conn.commit() # 提交 except:conn.rollback() # 回滚5.1.3 删除数据 try:cursor conn.cursor()result cursor.execute(delete from stu where sid 12)print(result) # result是该sql会影响多少条数据conn.commit() # 提交 except:conn.rollback() # 回滚5.2 查询操作 # 查询 from pymysql.cursors import DictCursor # cursor conn.cursor(DictCursor) # 使用字典游标. 查询出的结果自动保存在字典中 cursor conn.cursor() # 默认游标. 查询出的结果自动保存在元组中sql select * from sturet_num cursor.execute(sql) # result cursor.fetchall() # 获取全部结果 # result cursor.fetchmany(5) # 获取部分结果 result cursor.fetchone() # 获取单个结果 print(result) # 一个游标如果被拿空了. 则不能再次获取内容. result cursor.fetchone() # 获取单个结果, 可以连续获取 print(result)5.3 封装一个简单的DBHelper import pymysql from pymysql.cursors import DictCursor class NoDataBaseException(Exception):pass class DBHelper:def __init__(self, databaseNone, hostlocalhost, port3306, usernameroot, password123456):if database:self.conn pymysql.connect(hosthost,portport,userusername,passwordpassword,databasedatabase)else:raise NoDataBaseException(没有提供正确的数据库)def __enter__(self):return selfdef __exit__(self, exc_type, exc_val, exc_tb):return self.conn.close()def _change(self, sql, *args, isInsertFalse):cursor self.conn.cursor()try:rownum cursor.execute(sql, args)self.conn.commit()if isInsert:return cursor.lastrowidelse:return rownumexcept Exception as e:print(报错了, e)self.conn.rollback()finally:cursor.close()def insert(self, sql, *args):return self._change(sql, *args, isInsertTrue)def update(self, sql, *args):return self._change(sql, *args)def delete(self, sql, *args):return self._change(sql, *args)def query_list(self, sql, *args):cursor self.conn.cursor()try:cursor.execute(sql, args)result cursor.fetchall()return resultfinally:cursor.close()def query_one(self, sql, *args):cursor self.conn.cursor()try:cursor.execute(sql, args)result cursor.fetchone()return resultfinally:cursor.close()if __name__ __main__:with DBHelper(spider_back) as db:# result db.query_list(select * from stu where gender%s and address like %s, 1, %北京%)# print(result)result db.delete(delete from stu where sid %s, 10)print(result) MySQL远程连接时, 必须对数据库做一个简短的配置 1, 打开mysql命令行. 2, 输入以下内容 GRANT ALL PRIVILEGES ON *.* TO 用户名% IDENTIFIED BY 密码 WITH GRANT OPTION; FLUSH PRIVILEGES;
http://www.hkea.cn/news/14566483/

相关文章:

  • 网站建设g7zwd一起做网店官网
  • 视频购物网站开发方案搭建农村电商平台
  • wordpress网站描述插件开发购物网站
  • 网站优化 福州wordpress通用页面模板下载
  • 让别人做网站图片侵权wordpress轻系统
  • 钉钉企业主页网站标题具体怎样优化
  • 关于加强教体局网站建设wordpress重复链接
  • 免费招聘网站建设医院网站建设策划案模板
  • 国际购物网站培训机构管理系统
  • 网站建设一条龙全包seo珠海最新消息今天
  • 网站seo优化主要有哪些手段深圳建筑工程招投标中心
  • 网站建设怎么设置网址建设部网站碎发零能耗住宅
  • 手机网站优化怎么做专门做2k名单的网站
  • 豫建设标 网站免费网络电话免费版试用
  • 网站微信建设方案做网站要用什么计算机语言
  • 开通网站必须做域名空间网站图片上字体动态怎么做的
  • 网站设计与应用方向论文聊城市建设局网站
  • 深圳的设计网站大全怎样建造网站
  • 四川省和城乡建设厅网站首页西安发布信息的平台
  • 男做女爱网站网站建设需要版块
  • 商务网站建设实训学什么可以做网站
  • 网建天地户型图搜索引擎营销优化策略有哪些
  • 免费建站网站号营销型网站和展示型网站的区别
  • m2型虚拟主机带宽 网站植树节ppt模板下载免费版
  • h5商城网站是什么自己做的网站给人攻击了怎么办
  • 恩施做网站新闻稿代写平台
  • 佛山网站推广建设购物网站建设课程设计报告
  • 大学生做爰网站国内最近重大新闻2024
  • 校园网站的作用搬家公司网站制作
  • 郑州大型网站建设电话重庆豆花制作