问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我用navicat软件把*.sql文件导入进数据库时,出现了如下错误:

发布网友 发布时间:2022-04-24 17:48

我来回答

3个回答

懂视网 时间:2022-05-03 03:45

要求掌握 1;测试+连接数据库 2:新建库 3:新建表,新增字段+类型+约束条件的创建 4:设计表:外键 5:新建查询 6:建立表的模型 7:转储/运行SQL文件 8:通过模型多表之间查询,输入命令

#注意
  批量加注释:ctrl+?建
  批量去注释:CTRL+shift+?建

2、 软件操作界面及使用注意事项:

技术图片

 

 

3、新建库时注意事项:

技术图片

 

4、可以把建好的表转储为SQL文件保存下来,可以把新的SQL文件直接添加并运行(可以直接利用别人建好的框架模型或数据)

 

二、练习题:(多表之间的查询)

 

1、查询所有的课程的名称以及对应的任课老师姓名
4、查询平均成绩大于八十分的同学的姓名和平均成绩
7、 查询没有报李平老师课的学生姓名
8、 查询没有同时选修物理课程和体育课程的学生姓名
9、 查询挂科超过两门(包括两门)的学生姓名和班级

# 解题步骤:
 把复杂的问题拆分,按条件拆分一步一的写,再基于上一次查询的结果再做条件筛选

技术图片

1:查询所有的课程的名称以及对应的任课老师姓名

解题思路:(1):先采用连表操作 inner join(内连接把老师和课程的信息查找)   

select *from course inner join teacher on course.teacher_id =teacher.tid; 内连接查找

      (2):在找到老师和课程的基础上,再查找课程对应的老师信息

        把 * 换成要查找的内容即可:

SELECT
 course.cname,
 teacher.tname
FROM
 course
INNER JOIN teacher ON course.teacher_id = teacher.tid;

技术图片

2:查询平均成绩大于八十分的同学的姓名和平均成绩

 

‘‘‘SELECT
 student.sname,
 t1.avg_num
FROM
 student # 第二步:查询学生符合符合条件的学生 再用avg
INNER JOIN (
 SELECT
 student_id,
 avg(num) AS avg_num
 FROM
 score # 第一步:先查找平均成绩大于80分的同学
 GROUP BY 
 student_id
 HAVING # 分组后的条件筛选
 avg(num) > 80
) AS t1 ON student.sid = t1.student_id;‘‘‘

3: 查询没有报李平老师课的学生姓名(找出报名李平老师课程的学生,然后取反就可以)

SELECT
 student.sname
FROM
 student
WHERE
 sid NOT IN (
 SELECT DISTINCT
  student_id
 FROM
  score
 WHERE
  course_id IN (
  SELECT
   course.cid
  FROM
   course
  INNER JOIN teacher ON course.teacher_id = teacher.tid
  WHERE
   teacher.tname = ‘李平老师‘
  )
 );

4、 查询没有同时选修物理课程和体育课程的学生姓名(没有同时选修指的是选修了一门的,

  思路是得到物理+体育课程的学生信息表,然后基于学生分组,统计count(课程)=1)

 

SELECT
 student.sname
FROM
 student
WHERE
 sid IN (
 SELECT
  student_id
 FROM
  score
 WHERE
  course_id IN (
  SELECT
   cid
  FROM
   course
  WHERE
   cname = ‘物理‘
  OR cname = ‘体育‘
  )
 GROUP BY
  student_id
 HAVING
  COUNT(course_id) = 1
 );

5、查询挂科超过两门(包括两门)的学生姓名和班级

select student.sname,class.caption from class INNER JOIN student
 on class.cid = student.class_id
 WHERE student.sid in 
 (select student_id from score where num < 60
 GROUP BY student_id
 HAVING COUNT(course_id) >=2)

 

三、pymysql 模块

  命令行安装: pip insatll mysql  用Python来实现操作mysql

import pymysql

conn = pymysql.connect(
 host = ‘127.0.0.1‘,
 port = 3306,
 user = ‘root‘,
 password = ‘123‘,
 database = ‘day38‘,
 charset = ‘utf8‘ # 编码千万不要加- 如果写成了utf-8会直接报错
)
# 向mysqld服务端发送请求连接

cursor = conn.cursor(pymysql.cursors.DictCursor) # 产生一个游标对象 以字典的形式返回查询出来的数据 
# 键是表的字段 值是表的字段对应的信息
sql = ‘select * from teacher‘

cursor.execute(sql)   # 执行传入的sql语句
print(cursor.fetchone()) # 只获取一条数据
print(cursor.fetchone()) # 只获取一条数据

# cursor.scroll(2,‘absolute‘) # 控制光标移动 absolute相对于其实位置 往后移动几位
cursor.scroll(1,‘relative‘)    # relative相对于当前位置 往后移动几位
print(cursor.fetchall())   # 获取所有的数据 返回的结果是一个列表

四、mysql 注入问题

  解决在输入没有密码或者用户名错误的情况下也能访问数据的问题

# 2.代码链接
import pymysql
#链接
conn=pymysql.connect(
 host=‘localhost‘,
 user=‘root‘,
 password=‘123‘,
 database=‘egon‘,
 charset=‘utf8‘)
#游标
cursor=conn.cursor() #执行完毕返回的结果集默认以元组显示
#cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) # 以字典的方式显示数据

# 3.pymysql操作数据库
#执行sql语句
user = input(">>>:").strip()
pwd = input(">>>:").strip()
sql=‘select * from userinfo where name="%s" and password="%s"‘ %(user,pwd) #注意%s需要加引号

rows=cursor.execute(sql) #执行sql语句,返回sql查询成功的记录数目
# 获取真实数据cursor.fetchone(),cursor.fetchall(),cursor.fetchmany(),类似管道取值,获取一条,所有,多条

cursor.scroll(1,‘relative‘) # 相对移动
cursor.scroll(3,‘absolute‘) # 绝对移动


cursor.close()
conn.close()


sql注入的问题:

  通过修改验证方式,解决在没有输入正确的用户名和密码时也能获取数据的情况

import pymysql

conn = pymysql.connect(
 host = ‘127.0.0.1‘,
 port = 3306,
 user = ‘root‘,
 password = ‘123‘,
 database = ‘day38‘,
 charset = ‘utf8‘ # 编码千万不要加- 如果写成了utf-8会直接报错
)
cursor = conn.cursor(pymysql.cursors.DictCursor)

username =input(‘username>>>:‘).strip()
password = input(‘password>>>:‘).strip()

sql ="select * from userinfo where name = %s and password = %s"
print(sql)
res = cursor.execute(sql,(username,password)) # execute 会自动识别sql语句中的%s 帮你做替换
if res:
 print(cursor.fetchall())
else:
 print("用户名和密码错误!")

结果:
username>>>:james
password>>>:123
select * from userinfo where name = %s and password = %s
[{‘id‘: 2, ‘name‘: ‘james‘, ‘password‘: ‘123‘}]
""" sql注入 就是利用注释等具有特殊意义的符号 来完成一些骚操作
后续写sql语句 不要手动拼接关键性的数据 而是让excute帮你去做拼接 """
sql ="select * from userinfo where name = %s and password = %s" %(username,password)
res = cursor.execute(sql)

如果这么写的话会出现注入问题:利用mysql -- 注释的语法实现破解密码 如输入:Jack‘-- bhgdj 或 xxx‘ or 1=1 没有密码不知道用户名也能获取数据

 

五、增删改

 conn.commit()   手动提交

 autocommit = True  自动提交

import pymysql

conn = pymysql.connect(
 host = ‘127.0.0.1‘,
 port = 3306,
 user = ‘root‘,
 password = ‘123‘,
 database = ‘day38‘,
 charset = ‘utf8‘, # 编码千万不要加- 如果写成了utf-8会直接报错
autocommit = True # 这个参数配置完成后 增删改操作都不需要在手动加conn.commit了
)
cursor = conn.cursor(pymysql.cursors.DictCursor)

sql = ‘insert into userinfo (name,password) values("jerry","666")‘
# sql = ‘update userinfo set name = "jasonhs" where id = 1‘
# sql = ‘delete from userinfo where id = 2‘
cursor.execute(sql)

# conn.commit()

""" 增删改操作 都必须加一句 conn.commit()操作 """

 

 

 

  

 

 

 

 

  

 

 

      

  

 

Navicat可视化工具的使用、pymysql、sql注入问题

标签:数据库管理   密码   配置   inf   port   strong   root   and   习题   

热心网友 时间:2022-05-03 00:53

途单机版(非SF)架设图文教程
想改造出来超级*的装备的请使用征途GM工具,资源下载及教程请点击这里
建议用 纳米机器人下载 ,好象有时用讯雷搜索不到资源。下面是资源连接
使用下载工具直接下载
1:
2:
3:

首先把上面的三个东西下载好存在自己电脑的硬盘里面, 下面是我的架设经验(如下载完上面1,2,3,资源可跳过本节)下面继续
1 首先安装Mysql这个工具 其实还是很容易的 运行安装程序的第一步一定选择Custom 即自定义的 接下来一路点下去 安装完毕
2 点击开始菜单\程序 \Mysql \Mysql server 5.0\Mysql server instance config Wizard 然后开始配置 这个过程需要注意的有两个地方 第一 下图所示的地方一定要选择服务器模式即server machine

第二 密码最好设置成12345 不然的话等会配置服务器的时候还的修改默认选项很麻烦

3 解压WINZT 得到完整数据库压缩包 解压这个压缩包得到Zebra文件夹把这个文件夹复制到Mysql server 5.0下的DATA文件夹下

4 解压缩下载得到的“SQL管理”压缩包 得到Navicat 8.0 MySQL的安装文件 安装完毕 再安装破解补丁或者上网找注册码都行不妨碍使用 安装完毕直接运行 点击链接 弹出对话框 连接名随便输入 密码是你刚才设置的 即123456 然后双击Zebra 再双击右面窗口中的Serverlist 检查弹出对话框内IP是否为127.0.0.1 不是则改之

5 把WinZT里的server解压出来,打开<服务器启动器>--点击--<配置文件>--点击--<数据库配置>把那个连接数据库点一下 就可以启动服务器了。

6 服务器启动完毕 见下图

7 全部启动完毕后,把WinZT里的配套补丁+登陆器解压到征途客户端里,DATA文件夹直接覆盖 然后点击征途目录中复制进去的ZebraLogin.exe文件点击注册帐号 如下图

8 使用注册的帐号登陆进入游戏 可能会出现在人物进入游戏的页面卡住的现象
多试几次即可进入

9 获得超级GM权限一般有两种方法:(1) 打开Navicat.for.MySQL.v8.0.22 双击Zebra 在右面的窗口中的CHARbase 你所创建的人物信息存储于此把人物的CHARID的值设置成100以下的数字 该角色即获得超级GM权限 (2)打开“服务器启动器>--点击--<配置文件,点击GLOBAL,进入修改页面 然后直接修改GM=100为GM=8000,修改完毕点保存。上线玩家直接 就获得 超级GM管理权限。

10,常见问题解决办法,(1),在做第五步的时候经常弹出下面的对话框,如下图

解决办法是把下图所示的配置文件选项里的Global,super等含数据库连接路径里的框里的数字改为自己的数据库的密码,二者必须保持一致。

(2),经常出现场景服务器启动失败的提示,这个重新多启动几次就OK了
(3),如何当国王,当然首先是建立帮会,但是当国王需要占领王城,而占城池是需要帮会有行动力的,帮会行动力是可以自己修改的,打开Navicat for MySQL,双击Zebra,在右边的窗口中找到UNION的表格,双击他,这里存放的就是你的服务器的所有帮会的数据,你建的帮会名称最好是英文字母组成,不然在这里你的帮会名称就会显示成乱码,找到你建的帮会,大概对应的那个ACTIONPOINT的值就是帮会行动力吧,其他各项的意思可以自己查查,想改成多少,自己动手吧。
(4),如何使用GM命令,至于如何获得GM命令权限,上面已经说了常见的两种方法,下面要做的就是用已经获得GM权限的角色登陆,接下来就很简单了,会征途里的聊天吗?直接敲回车键,把相应的GM命令输入后再敲回车即可。GM命令的地址下面有连接。
(5),还有一些朋友说的关于架设单机的时候对自己网络情况的要求,这里说一下,只要你有网卡就行,当然是装了网驱的。能不能上网无所谓,我亲自测试过,拔了网线也是可以架设的,不影响,不过要注意,本地连接里一定要填上IP,随便什么都行,不然的话就可能会卡在服务器启动界面那里不动了。关于这点可以查看具体的网络启动窗口就能看得到。
(6),可能会卡在启动界面上,然后等上很长一段时间没有反应,如果前面的步骤都没有错误的话那一般就只有两种情况:一种就是第五条里说的本地连接里没有设置好,第二种就是死了,机器或者程序,任务管理器可以查看。
下面是游戏截图 刷个鬼王 一击必杀

更多超级GM命令见

更多征途单机版私服及其视频教程下载请见

GM工具下载及其使用教程请见

热心网友 时间:2022-05-03 02:11

解压缩下载得到的“SQL管理”压缩包 得到Navicat 8.0 MySQL的安装文件 安装其他各个段定义了具体的服务参数,主要是指定该服务对应的数据库,数据库的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
arrive in和arrive at 有什么区别? 磁力泵为什么可空转? 为什么不让衬氟塑料磁力泵空转?怎样提升设备稳定性? 工业软管泵 塑料磁力泵为什么不能空转 求推荐男主和女配在一起的小说? 《红衣天下》txt全集下载 检测公司检测哪些 检测公司是怎么样的 检测公司属于什么企业 word图片没法复制 MySql中的id自动增加,插入数据修改ID内容,再插入数据时从中间开始?_百 ... 网易企业邮箱设置授权码怎么设? word里图片怎么复制不到图像处理软件里? 如何添加新数据库到MySQL主从复制列表 Mysql数据库中,设置id为自动增加,向数据库中插入数据时,SQL语句怎么写... MySQL8.0用log4文件连接数据库要怎么写? 为什么word里的图片复制不了了? Mysql 如何在指定行插入数据? 为什么Word不能复制图片 MySQL无法导入指定数据库,求点解 没有电脑怎么改网易邮箱的授权码? 关于导入MySQL数据问题 在mysql中为某一行的某几列插入数据怎么写 为什么word黏贴不上图片了? shell往mysql数据库导入新 每次文件签字合同签字时,都会紧张手抖写不了?平时写字都不抖,请介绍一些药品,谢谢!!! 为什么word里的图片不能复制粘贴到其他地方 mysql 8.0数据库迁移(直接复制文件) 感觉自己平时在家写字不是很紧张,可是一有重要的事情,或者别人都看着我... mysql数据库delete删除将近80%的记录后数据库的文件大小依然不变_百度... 自制酸奶口感不甜是什么原因? word图片复制不了,点右键也没另存为之类的选项 C#把excel数据导入datase,让后再insert mysql数据库 酸奶自己制作了酸奶,为什么口感不好 纯真ip数据库怎么导入mysql中 用酸奶机做的酸奶怎么不甜 我用酸奶机做的酸奶,为什么做起来不酸不甜 自己做酸奶不甜怎么办 自己做的酸奶不好控制酸甜,有没有什么好的办法? 自制酸奶。1.做出来的酸奶没有加糖,吃起来是不甜还是酸酸的?2.为什么我做的酸奶,酸奶机盖子内壁会 为什么我做的酸奶不够酸,我是用酸奶机做的,按说明书的比例制作,看起来像白豆腐一样嫩嫩的 自己用酸奶机做的酸奶,吃起来有涩味不好吃,是啥原因导致的呢? 梦到一个罗锅老头给我看病好不好? 自己做的酸奶为什么不甜 自制酸奶不酸怎么回事,做好的酸奶就像超市卖的老酸奶一样,不酸,8小时 做酸奶之前能放糖吗 为什么自己制作的酸奶很难吃啊? 为什么自己在家用酸奶机做酸奶,放了不少糖怎么还那么酸呢? 自己做酸奶,怎么样可以让味道更好,怎么样可以让酸奶更凝固呢? 梦见看病,且衣服还被脱光