解决方法1:因为我电脑以前装过MySQL,初始化过数据库,所以不能再次初始化,不用管这个错误,继续进行下面的步骤就好了。java
问题2:因为我电脑以前装过MySQL,因此就下载了Navicat来运行MySQL,可是链接原有的数据库时,出现如下问题:mysql
解决方法2:参考MYSQL错误代码#1045 Access denied for user 'root'@'localhost'
解决步骤以下:
一、中止MYSQL服务,CMD打开DOS窗口,输入 "net stop mysql ";不过有时候不中止也是无所谓;
二、在CMD命令行窗口,进入MYSQL安装目录 好比“F:\mysql-5.7.21-winx64\bin”
三、在第二点的命令窗口输入命令为:"mysqld-nt --skip-grant-tables",做用是,进入mysql安全模式,即当mysql起来后,不用输入密码就能进入数据库。
四、这时候能够进入数据库后,给本身的数据库从新设置密码就能够了!git
12:19:13 PM [mysql] Error: MySQL shutdown unexpectedly. 12:19:13 PM [mysql] This may be due to a blocked port, missing dependencies, 12:19:13 PM [mysql] improper privileges, a crash, or a shutdown by another method 12:19:13 PM [mysql] Press the Logs button to view error logs and check 12:19:13 PM [mysql] the Windows Event Viewer for more clues 12:19:13 PM [mysql] If you need more help, copy and post this 12:19:13 PM [mysql] entire log window on the forums
解决方法3:参考XAMPP运行MySQL entire log window on the forums解决方案中的全部方法,最后得以解决,必需要先运行Apache,在运行MySQL就好了。正则表达式
问题4:上面的问题解决之后,点击admit出现ERROR,再次开启MySQL,就出现如下问题:sql
返回目录数据库
MySQL数据库管理系统,简称MySQL,是世界上最流行的开源数据库管理系统,其社区版(MySQL Community Edition)是最流行的免费下载的开源数据库管理系统。数组
下载安装后,进行启动MySQL数据库服务器,并创建链接,创建数据库,建立表等操做。安全
1.下载JDBC-MySQL数据库驱动服务器
2.加载JDBC-MySQL数据库驱动
代码以下:app
try{ Class.forName("com.mysql.jdbc.Driver"); } catch(Exception e){}
使用Connection getConnection(java.lang.String)
方法创建链接的代码以下:
Connection con; String uri = "jdbc:mysql://192.168.100.1:3306/students?user=r oot&password=&useSSL=true"; try{ con = DriverManager.getConnection(uri); //链接代码 } catch(SQLException e){ System.out.println(e); }
使用
Connection getConnection(java.lang.String, java.lang.String, java.lang.String)
方法创建链接的代码以下:
Connection con; String uri = "jdbc:mysql:// 192.168.100.1:3306/students? useSSL=true"; String user ="root"; String password =""; try{ con = DriverManager.getConnection(uri,user,password); //链接代码 } catch(SQLException e){ System.out.println(e); }
具体步骤:
1.向数据库发送SQL查询语句
try{ Statement sql=con.createStatement(); } catch(SQLException e ){}
2.处理查询结果
注:
不管字段是何种属性,总可使用
getString(int columnIndex)或 getString(String columnName)
方法返回字段值的串表示。
3.关闭链接
指ResultSet对象一次只能看到一个数据行,使用next()方法移到下一个数据行,next()方法最初的查询位置,即游标位置,位于第一行的前面。next()方法向下(向后、数据行号大的方向)移动游标,移动成功返回true,不然返回false。
为了获得一个可滚动的结果集,需使用下述方法得到一个Statement对象。
Statement stmt = con.createStatement(int type ,int concurrency);
(1)where子语句
通常格式:
select 字段 from 表名 where 条件
(2)排序
用order by子语句对记录排序
1.更新
update 表 set 字段 = 新值 where <条件子句>
2.添加
insert into 表(字段列表) values (对应的具体的记录)
或
insert into 表 values (对应的具体的记录)
3.删除
delete from 表名 where <条件子句>
Connection和某个数据库创建了链接对象con,那么con就能够调用prepareStatement(String sql)方法对参数sql指定的SQL语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement对象中,那么该对象调用下列方法均可以使得该底层内部命令被数据库执行。
JDBC事务处理步骤
1.用setAutoCommit(booean b)方法关闭自动提交模式
2.用commit()方法处理事务
3.用rollback()方法处理事务失败
若是超出JVM运行能力以外,如“byte[] arr=new byte[1024*1024*600];”会抛出java.lang.OutOfMemoryError异常。 A .true B .false 正确答案:B
解析1:对于严重的错误,经过Error类来描述,而对于非严重的问题,则是经过Exception类来进行描述的,本题不是严重的错误,应该经过Exception类来描述。
下列关于public int read(byte[] b, int off, int len)方法的叙述,正确的是 A .此方法覆盖了InputStream类中的read方法。 B .此方法从该输入流中将最多len个字节的数据读入一个byte数组中。 C .此方法返回读入缓冲区的字节总数,若是由于已经到达文件末尾而没有更多的数据,则返回-1。 D .若是b为null,则会抛出IndexOutOfBoundsException异常。 正确答案:A B C
解析2:D项异常抛出错误,应该抛出NullPointerException异常。
下列选项中,能够经过编译的是 InputStream is = new BufferedInputStream(new FileInputStream("zoo.txt")); InputStream wrapper = new _____; A .BufferedInputStream B .FileInputStream C .BufferedWriter D .ObjectInputStream E .ObjectOutputStream F .BufferedReader 正确答案:A D
解析3:因为BufferedInputStream
和ObjectInputStream
都是InputStream
的子类,所以可使用InputStream wrapper = new _____;
语句,wrapper为上转型对象。
What is the result of executing the following code? String line; Console c = System.console(); Writer w = c.writer(); if ((line = c.readLine()) != null) w.append(line); w.flush(); A .The code runs without error but prints nothing. B .The code prints what was entered by the user. C .An ArrayIndexOutOfBoundsException might be thrown. D .A NullPointerException might be thrown. E .An IOException might be thrown. F .The code does not compile. 正确答案:B D E
已知list是一个合法的集合引用,getCollection()返回一个合法集合的引用,下列合法的是? A .for(Object o : list) B .for(Object o : getCollection()) C .for(Object o : list.iterator()) D .for(lterator i ; list.iterator() ; i.hasNext() ) E .for(lterator i=list.iterator(); i.hasNext(); ) 正确答案:B E
解析1:for(Object o : )该语句是依次输出数组中的元素,list不是数组,A项错误。list.iterator是单个引用,C项错误。D项中,i没有赋初值,错误。
下列关于泛型类的子类的说法,正确的个数为 ①LinkedList<E>泛型类建立一个链表结构的对象。 ②Stack<E>泛型类建立一个堆栈对象。 ③HashMap<E>泛型类建立散列映射。 ④DelayQueue<E>泛型类建立一个无界阻塞队列。 ⑤TreeSet<E>泛型类建立树映射。 ⑥Vector<E>建立可增加的对象数组。 A .6 B .5 C .4 D .3 正确答案:B
解析2:⑤TreeSet
下列关于正则表达式的说法,正确的是 A .\ba\w*\b匹配以字母a开头的单词 B .\d+匹配1个或更多连续的数字。 C .\b\w{6}\b 匹配6个及以上字符的单词。 D .[0-9]表明的含意与\d就是彻底一致的:一位数字 E .\S+匹配不包含空白符的字符串。 F .(\d{1,3}\.){3}\d{1,3}用来匹配 IP地址。 正确答案:A B D E
解析3:C项:\b\w{6}\b 匹配恰好6个字符的单词。
F项: IP地址中每一个数字都不能大于255,该表达式忽略了这个约束条件。正确的是((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。
我没有选B项,由于我误觉得\d+也能够匹配1个或更多不连续的数字。
下列说法正确的是 A .Java 8以前,对日期进行运算,使用DateFormat类。 B .须要人类能理解的时间,建议使用Date类的toString()。 C .如今国际上通用的标准时间是GMT。 D .new Date(System.currentTimeMillis())等价于new Date() 正确答案:D
解析4:经过查询API,由Data的构造方法可知,Date(System.currentTimeMillis())
等价于new Date()
,D项正确。
下列哪一个表达式是正确的(无编译错误)? A .int m =Float.parseFloat("567"); B .int m =Short.parseShort("567") C .byte m =Integer.parseInt("2"); D .float m =Float.parseDouble("2.9") 正确答案:C
解析5:A项:float型比int型精度高,应使用类型转换,转换为int;B项:567超出short型变量的范围;D项:同A项,double型比float型精度高,应使用类型转换,转换为float。
对于以下代码,下列哪一个叙述是正确的? public class E { public static void main (String args[]) { String s1 = args[1]; String s2 = args[2]; String s3 = args[3]; System.out.println(s3); } } A .程序出现编译错误。 B .无编译错误,在命令行执行程序:“java E I love this game”,程序输出this。 C .无编译错误,在命令行执行程序:“java E let us go”,程序无运行异常。 D .无编译错误,在命令行执行程序:“java E 0 1 2 3 4 5 6 7 8 9”程序输出3。 正确答案:D