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

求编写过类似网上教学系统的源代码eclipse+MYSQL,有部分代码运行出错求指点!我把全部的财富值都给您!

发布网友 发布时间:2022-04-09 10:08

我来回答

2个回答

懂视网 时间:2022-04-09 14:30

显示哪些线程正在运行 SHOW VARIABLES -- 查看变量



2. /* 数据库操作 */ ------------------------------------------------------------------------------------------------------ 2. /* 数据库操作 */
-- 查看当前数据库
 select database();
-- 显示当前时间、用户名、数据库版本
 select now(), user(), version();

-- 复制表结构
 CREATE TABLE 表名 LIKE 要复制的表名
-- 复制表结构和数据
 CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名



3. /* 字符集编码 */ --------------------------------------------------------------------------------------------------------- 3. /* 字符集编码 */

字符编码 -- MySQL、数据库、表、字段均可设置编码 -- 数据编码与客户端编码不需一致 SHOW VARIABLES LIKE ‘character_set_%‘ -- 查看所有字符集编码项 character_set_client 客户端向服务器发送数据时使用的编码 character_set_results 服务器端将结果返回给客户端所使用的编码 character_set_connection 连接层编码 SET 变量名 = 变量值 set character_set_client = gbk; set character_set_results = gbk; set character_set_connection = gbk; SET NAMES GBK; -- 相当于完成以上三个设置


4./* 数据类型(列类型) */ ---------------------------------------------------------------------------------------------------4. /* 数据类型(列类型) */
1) 数值类型
  int  4字节
 bigint 8字节
 int(M) M表示总位数
 - 默认存在符号位,unsigned 属性修改
 - 显示宽度,如果某个数不够定义字段时设置的位数,则前面以0补填,zerofill 属性修改
 例:int(5) 插入一个数‘123‘,补填后为‘00123‘
 - 在满足要求的情况下,越小越好。
 - 1表示bool值真,0表示bool值假。MySQL没有布尔类型,通过整型0和1表示。常用tinyint(1)表示布尔型。
2) 字符串类型
-- a. char, varchar ----------
 char 定长字符串,速度快,但浪费空间
 varchar 变长字符串,速度慢,但节省空间
 M表示能存储的最大长度,此长度是字符数,非字节数。
 不同的编码,所占用的空间不同。
 char,最多255个字符,与编码无关。
 varchar,最多65535字符,与编码有关。
 一条有效记录最大不能超过65535个字节。
 utf8 最大为21844个字符,gbk 最大为32766个字符,latin1 最大为65532个字符
 varchar 是变长的,需要利用存储空间保存 varchar 的长度,如果数据小于255个字节,则采用一个字节来保存长度,反之需要两个字节来保存。
 varchar 的最大有效长度由最大行大小和使用的字符集确定。
 最大有效长度是65532字节,因为在varchar存字符串时,第一个字节是空的,不存在任何数据,然后还需两个字节来存放字符串的长度,所以有效长度是64432-1-2=65532字节。
 例:若一个表定义为 CREATE TABLE tb(c1 int, c2 char(30), c3 varchar(N)) charset=utf8; 问N的最大值是多少? 答:(65535-1-2-4-30*3)/3



5./* 建表规范 */ ------------------------------------------------------------------------------------------------------------------ 5./* 建表规范 */
 -- Normal Format, NF
 - 每个表保存一个实体信息
 - 每个具有一个ID字段作为主键
 - ID主键 + 原子表
 -- 1NF, 第一范式
 字段不能再分,就满足第一范式。
 -- 2NF, 第二范式
 满足第一范式的前提下,不能出现部分依赖。
 消除符合主键就可以避免部分依赖。增加单列关键字。
 -- 3NF, 第三范式
 满足第二范式的前提下,不能出现传递依赖。
 某个字段依赖于主键,而有其他字段依赖于该字段。这就是传递依赖。
 将一个实体信息的数据放在一个表内实现。


6./* select 查询语句*/ -------------------------------------------------------------------------------------------------------- 6./* select 查询语句*/
1) having 子句,条件子句
 与 where 功能、用法相同,执行时机不同。
 where 在开始时执行检测数据,对原数据进行过滤。
 having 对筛选出的结果再次进行过滤。
 having 字段必须是查询出来的,where 字段必须是数据表存在的。
 where 不可以使用字段的别名,having 可以。因为执行WHERE代码时,可能尚未确定列值。
 where 不可以使用合计函数。一般需用合计函数才会用 having
 SQL标准要求HAVING必须引用GROUP BY子句中的列或用于合计函数中的列。

7./* 备份与还原 */ ------------------------------------------------------------------------------------------------------------- 7./* 备份与还原 */
备份,将数据的结构与表内数据保存起来。
利用 mysqldump 指令完成。

-- 导出
1) 导出一张表
  mysqldump -u用户名 -p密码 库名 表名 > 文件名(D:/a.sql)
2)导出多张表
  mysqldump -u用户名 -p密码 库名 表1 表2 表3 > 文件名(D:/a.sql)
3)导出所有表
  mysqldump -u用户名 -p密码 库名 > 文件名(D:/a.sql)
4)导出一个库 
  mysqldump -u用户名 -p密码 -B 库名 > 文件名(D:/a.sql)

可以-w携带备份条件

-- 导入
1)在登录mysql的情况下:
  source 备份文件
2)在不登录的情况下
  mysql -u用户名 -p密码 库名 < 备份文


8./* 锁表 */  ------------------------------------------------------------------------------------------------------------------ 8./* 锁表 */
表锁定只用于防止其它客户端进行不正当地读取和写入
MyISAM 支持表锁,InnoDB 支持行锁
-- 锁定
 LOCK TABLES tbl_name [AS alias]
-- 解锁
 UNLOCK TABLES

 

9./* 用户和权限管理 */ -------------------------------------------------------------------------------------------------------- 9./* 用户和权限管理 */
用户信息表:mysql.user
-- 刷新权限
FLUSH PRIVILEGES
-- 增加用户
CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串)
 - 必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。
 - 只能创建用户,不能赋予权限。
 - 用户名,注意引号:如 ‘user_name‘@‘192.168.1.1‘
 - 密码也需引号,纯数字密码也要加引号
 - 要在纯文本中指定密码,需忽略PASSWORD关键词。要把密码指定为由PASSWORD()函数返回的混编值,需包含关键字PASSWORD
-- 重命名用户
RENAME USER old_user TO new_user
-- 设置密码
SET PASSWORD = PASSWORD(‘密码‘) -- 为当前用户设置密码
SET PASSWORD FOR 用户名 = PASSWORD(‘密码‘) -- 为指定用户设置密码
-- 删除用户
DROP USER 用户名
-- 分配权限/添加用户
GRANT 权限列表 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] ‘password‘]
 - all privileges 表示所有权限
 - *.* 表示所有库的所有表
 - 库名.表名 表示某库下面的某表
-- 查看权限
SHOW GRANTS FOR 用户名
 -- 查看当前用户权限
 SHOW GRANTS; 或 SHOW GRANTS FOR CURRENT_USER; 或 SHOW GRANTS FOR CURRENT_USER();
-- 撤消权限
REVOKE 权限列表 ON 表名 FROM 用户名
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用户名 -- 撤销所有权限
-- 权限层级
-- 要使用GRANT或REVOKE,您必须拥有GRANT OPTION权限,并且您必须用于您正在授予或撤销的权限。
全局层级:全局权限适用于一个给定服务器中的所有数据库,mysql.user
 GRANT ALL ON *.*和 REVOKE ALL ON *.*只授予和撤销全局权限。
数据库层级:数据库权限适用于一个给定数据库中的所有目标,mysql.db, mysql.host
 GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授予和撤销数据库权限。
表层级:表权限适用于一个给定表中的所有列,mysql.talbes_priv
 GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤销表权限。
列层级:列权限适用于一个给定表中的单一列,mysql.columns_priv
 当使用REVOKE时,您必须指定与被授权列相同的列。


 

 

【精粹系列】Mysql精粹

标签:

热心网友 时间:2022-04-09 11:38

您好,那我就说一下思路吧,具体的代码实现还是你自己写,有点java和HTML知识就能完成。
1、写一个登录界面login.jsp。
<form action="login_action.jsp" name="form1" method="post">
2、登录操作login_action.jsp。
这个界面的操作是数据库的一些操作,也就是身份验证了。符合的话就response.sendRedirect("welcome.jsp"),否则response.sendRedirect("login.jsp")
3、登录后界面welcome.jsp。
4、注册界面register.jsp。
<form action="register_action" name="form1" method="post">
5、注册操作register_action.jsp。
一样的数据库操作,合法操作就添加一个用户,response.sendRedirect("login.jsp")。
不合法的话response.sendRedirect("register.jsp")
6、退出操作logout.jsp。
连接MySQL数据库:(要添加驱动包)
import java.sql.*;
public class DBAccess {
private String drv = "com.mysql.jdbc.Driver";
private String url = “jdbc:mysql://localhost:3306/db”;//db是数据库的名称
private String usr = "mysql"; //用户名
private String pwd = "123"; //密码
private Connection conn=null;
private Statement stm=null;
private ResultSet rs=null;
public boolean createConn(){
boolean b=false;
try{
Class.forName(drv).newInstance();
conn=DriverManager.getConnection(url, usr, pwd);
b=true;
}catch(Exception e)
{
e.printStackTrace();
}
return b;
}
}
到此,数据库连接好了,至于如何验证用户,那就是数据库的内容了。也就是几句SQL语句,不懂的话,建议认真的学习一下数据库。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...怎么插入耳机时 耳机和外放都有声音?我用驱动人生驱动过显示声卡是正... USB耳机插入听不到声音,用什么软件可以听到声音?我的耳机是赛德斯的,听... 用USB71耳机看电影和用35mm立体声耳机杜比音效看电影哪个效果好 学生和家庭情况如何填写呢? 当初老板帮我租房子,租了半年,老板说干满半年才能退,现在没有干满半年... 博湖县在哪买辣椒酱 宝宝都一岁多了,要记得做这款高钙食物,不要浪费长身体的机会 高钙零食可不可以帮助孩子长高呢? 文艺一些的纹身店名字 宝马325li是三缸吗? 长安55plus和cs75怎么选? 2020款CS75和CS55PLUS这两款车,哪一款车的性能好? CS55和CS75哪个更值得入手呢?纠结了 长安CS75 PLUS与奔腾T55相比,谁更有魅力? 习cs 75与cs 55普拉斯哪个隔音做得好 鸡蛋干卫生吗?干净吗?多吃对身体有害不? iPhoneX组装机和vivoX21对比,哪个更好? vivo新出的x27和iPhone xs相比较哪个更好? 苹果xr和vivox27哪个好? vivox21和苹果能相比吗 苹果x和vivox21哪款好 苹果x和vivox21哪个拍照好 苹果叉和vivo21哪款手机好 java web 项目开发案例精粹随书光盘中的myeclipse 和mysql视频教程有么? 买苹果X好还是X21 Vivo x21个苹果x哪个好 苹果x好和vivox21比哪个好 同是5G手机,苹果手机和vivo手机二选一选择哪个最合适? 苹果x和x21哪个好 加微信怎么写验证 因为在银行登记的银行登记的证件过期了,所以在微信小程序建行到家里完成了个人完善资料。是否有用? 建设银行有效证件更新后恢复使用微信支付会有延期吗? 身份证过期90天建设银行卡里的钱能充值到微信里面吗? “敬终如始,敬行如知”是什么意思? 相敬如宾? 相敬如冰? 相敬如兵? 是什么意思 ? 敬终如始,敬行如知什么意思 前几天看贴吧知道一个新软件,和微信差不多,也是聊天的。叫密语,有人知道吗?刚下载,还在尝试使用。 秘语视频怎么打不开了 相敬如宾的意思是什么呢 密语软件推销骗局 相敬如宾什么意思? 密语app传销 相敬如冰是什么意思 密语app传销,朋友让我投10零8000,说放五年,公司承诺可返5倍,不知道是不是真的,说密语已经 恭敬如宾是什么意思 冲了秘语vip不能看了 相敬如宾是什么意思啊 为什么把水果密封放着很容易发霉 夏天,一般食品及水果发霉的原因是什么? 为什么小西红柿里面会发霉