java怎么学习sql_java sql学习 - CSDN
精华内容
参与话题
  • SQL语句操作MYSQL数据库和数据表
      学习的时候绝对不能眼高手低,要不我的数据库就不会第三次才考过,今年第三次考数据库之前,把往年的考卷拿出来进行复习,将注意力放在了前两次考试时候蒙圈的地方,包括SQL语句的书写,可是,那些试卷上基本上涉及的语句都是对数据表中数据的操作,没有涉及到建库、建表,于是,我就没再翻书,一直死抠历年试卷,结果到了考场上,写sql语句题型的第一道题就是让写一个建表的语句,当时就傻了……原本以为我还需要考第四次,出乎意料的是最后还是过了,考试不失为一种督促人学习,又让人不断受到学习态度审判的一种方式,还是踏实对待每个知识点吧!
      下文的写作思路:建库—>使用库—>建表—>操作表
      语法规则
        建议关键字大写,自己定义的小写

      数据库操作

    	-- 创建:
    	CREATE DATABASE mydatabase;(库名)
    	-- 查看:
    	SHOW DATABASES;
    	-- 删除: 
    	DROP DATABASE mydatabase;
    	-- 使用:
    	USE mydatabase;
    

      使用提示:同时写的操作语句,选中谁,运行谁,要注意的就是养成每个语句后写个分号的习惯,以免同时运行的时候被当做一句执行。

      数据表操作

    	-- 创建:
    	CREATE TABLE 表名(
    		列名1  数据类型  约束(可以不写),
    		列名2  数据类型  约束(可以不写),
    		列名2  数据类型  约束(可以不写)(不加逗号)
    		);
    	
    	-- 约束起到了限制作用,就像集合中的泛型
    	-- 主键:保证当前字段非空、唯一的  PRIMARY KEY
    	-- 让主键列数据实现自动增长 AUTO_INCREMENT	 
    	
    	-- 删除:
    	DROP  TABLE 表名   //删除表
    	ALTER talbe 表名 DROP 列名     //删除列
    	
    	-- 修改:
    	ALTER TABLE 表名  ADD 列名 数据类型 约束        //添加列名
    	ALTER TABLE 表名  MODIFY 列名 数据类型 约束    //修改列名
    	ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 约束           //改列名
    	RENAME TABLE 表名 TO 新名          //改表名
    			
    	-- 添加:
    	-- 主键自增长,不用管断号问题,没有实际意义,只在数据库中起作用
    

      关于注释

        单行:--空格
           多行注释:/**/
      关于数据库和数据表的操作的使用实例
      

    -- 创建数据库
    CREATE DATABASE mybase;
    -- 使用数据库
    USE mybase;
    -- 创建数据表
    CREATE TABLE users(
    	uid INT PRIMARY KEY AUTO_INCREMENT,
    	uname VARCHAR(20),
    	uaddress VARCHAR(50)
    );
    /*
    一般不执行以下操作
    show tables;  显示所有数据表   
    desc users;   展示某一个表的详细信息
    drop table users;   删除数据表
    */
    -- 修改表
    	-- 添加列
    ALTER TABLE users ADD tel INT;
    	-- 修改列(涉及数量类型转化的问题,谨慎操作)
    ALTER TABLE users MODIFY tel VARCHAR(50);
    	-- 修改列名
    ALTER TABLE users CHANGE tel newtel DOUBLE;
    	-- 修改表名
    RENAME TABLE nusers TO users;
    
    -- 删除列
    ALTER TABLE users DROP tel;
    

      修改列和修改列名的区别?
        修改列就是不修改名字,只是修改他的信息,比如数据类型和约束
        修改列名只是单纯的修改列名

    展开全文
  • java+SQL做学生信息管理系统(增删改查)学生新作

    万次阅读 多人点赞 2019-06-11 11:11:22
    java+SQL做学生信息管理系统(增删改查) 过程中需要用到的所有工具数据库以及数据库管理器等等 密码:q80t 大学学习java后做的第一个小项目忍不住分享一下,也是我自己的面向对象编程的实践作业啦,有点水,...

    java+SQL做学生信息管理系统(增删改查)

    [过程中需要用到的所有工具数据库以及数据库管理器等等]
    https://pan.baidu.com/s/1cLKJPKXauLCl-Vwah6wFIQ
    提取码:he5x
    在这里插入图片描述
    大学学习java后做的第一个小项目忍不住分享一下,也是我自己的面向对象编程的实践作业啦,有点水,不是很优。废话不多数,下面进入正题

    界面的编写是非常简单的,直接贴代码了,首先看添加功能

    Add.java

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class Add extends JFrame implements ActionListener{
    	private static final Statement PraparedStatement = null;
     	Connection con;
     	
    	JLabel id = new JLabel("Id");
    	JLabel name = new JLabel("Name");
    	JLabel sex = new JLabel("sex");
    	JLabel tel = new JLabel("Tel");
    	JLabel grade = new JLabel("Grade");
    	JLabel address = new JLabel("Address");
    	JLabel birthday = new JLabel("Birthday");
    	
    	JTextField id1 = new JTextField(10);
    	JTextField name1 = new JTextField(10);
    	JTextField sex1 = new JTextField(10);
    	JTextField tel1 = new JTextField(10);
    	JTextField grade1 = new JTextField(10);
    	JTextField address1 = new JTextField(10);
    	JTextField birthday1 = new JTextField(8);
    	
    	JButton yes = new JButton("确认");
    	JButton no  = new JButton("取消");	
    	
    		public Add() {
    			setTitle("添加学生信息");
    			setLayout(null);
    			
    			id.setBounds(100,90,100,50);
    			id1.setBounds(300,100,200,30);
    			name.setBounds(100,140,100,50);
    			name1.setBounds(300,150,200,30);
    			sex.setBounds(100,190,100,50);
    			sex1.setBounds(300,200,200,30);
    			tel.setBounds(100,240,100,50);
    			tel1.setBounds(300,250,200,30);
    			grade.setBounds(100, 290, 100, 50);
    			grade1.setBounds(300, 300, 200, 30);
    			address.setBounds(100, 340, 100, 50);
    			address1.setBounds(300,350,200,30);
    			birthday.setBounds(100, 390, 100, 50);
    			birthday1.setBounds(300, 400, 200, 30);
    			
    			yes.setBounds(100,450, 100, 60);
    			no.setBounds(400, 450, 100,60);
    			
    			add(id);
    			add(id1);
    			add(name);
    			add(name1);
    			add(sex);
    			add(sex1);
    			add(tel);
    			add(tel1);
    			add(grade);
    			add(grade1);
    			add(address);
    			add(address1);
    			add(birthday);
    			add(birthday1);
    			
    			add(yes);
    			add(no);
    			
    			yes.addActionListener(this);
    			no.addActionListener(this);
    			
    			setVisible(true);
    			setBounds(600,300,600,600);
    			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
    		}
    		public static void main(String args[]){
    		new Add();
    		}
    		}
    		
    

    执行以后的界面
    这就是执行以后的界面
    下面就是按钮功能的实现,同时包含了数据库的操作

    将下面的代码直接加在上面的代码的主函数上面就可以,这是上面的按钮的监听器方法

    		public void actionPerformed(ActionEvent e) {
    					 
    		 if(e.getSource()==yes) {								//如果你点击的是确认按钮
    			 String s1=id1.getText();   					//获取文本框中的信息
    	    	 String s2=name1.getText(); 
    	    	 String s3=sex1.getText();
    	    	 String s4=tel1.getText();
    	    	 String s5=grade1.getText();
    	    	 String s6=address1.getText();
    	    	 String s7=birthday1.getText();	 
    	    	 
    	    	 int  num  = Integer.parseInt(s7);					//将获得的日期转换为整数类型
    	    	
    	    	 //加载数据库驱动
    		  	 try {					
    		    		  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDrive");
    		    	  }
    		    	  catch(Exception e1) {
    		    		  
    		    	  }	    	
    		    	 //连接数据库
    		    		  String uri ="jdbc:sqlserver://172.16.8.54:1433;DatebaseName=Stu";			//ip改为自己的ip,“Stu”数据库中自己新建的数据库名
    		    		  String user = "sa";															//sa为自己的数据库用户名
    		    		  String password = "962464";											//自己的数据库密码
    		    		 
    					try {
    						con = DriverManager.getConnection(uri,user,password);
    					} catch (SQLException e2) {
    						// TODO Auto-generated catch block
    						e2.printStackTrace();
    					}
    		  
    		    	 
    		    	  JOptionPane.showMessageDialog(null, "数据库连接成功", "连接数据库",
    		    			   JOptionPane.INFORMATION_MESSAGE);
    		    	  			
    			try {
    				if(init()==true) {							//假如添加的id数据库中已经存在,则不添加
    						JOptionPane.showMessageDialog(null, "数据库中此 Id 已存在,不可添加", "提示",
    						JOptionPane.INFORMATION_MESSAGE);
    						dispose();
    					}
    				else if(init()==false){					//如果没有,则执行添加
    						String sql="insert into Students(Id,Name,Sex,Tel,Grade,Address,Birth)"+"values('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"','"+num+"')";											//创建sql语句
    						
    						 Statement statement = null;
    			
    					try {
    						statement = con.createStatement();
    					} catch (SQLException e2) {
    						e2.printStackTrace();
    					}
    						try {
    								int result = statement.executeUpdate(sql);				//执行sql语句
    							} catch (SQLException e1) {
    								e1.printStackTrace();
    							}
    					    	 
    							JOptionPane.showMessageDialog(null, "添加学生信息成功", "完成",
    									   JOptionPane.INFORMATION_MESSAGE);
    						dispose();
    												
    					}
    			} catch (HeadlessException | SQLException e2) {
    				// TODO Auto-generated catch block
    				e2.printStackTrace();
    			}
    			
    			}
    		 else if(e.getSource()==no) {
    				dispose();
    		 }
    			}
    
    //判断添加的Id在数据库中是否存在的方法
    		public boolean init() throws SQLException {
    			
    			String sql1="select Id FROM Students where Id='"+s1+"'";	
    			
    			PreparedStatement pstm = con.prepareStatement(sql1);// 执行查询
    			
    			ResultSet rs = pstm.executeQuery();			
    			
    			boolean result = false;
    			
    			while(rs.next()) {
    				
    				result = true;				
    			}			
    			rs = pstm.executeQuery();
    			return result;
    		}
    	}
    

    添加功能就完成了,大功告成

    删除功能,界面百年不变,所以我就只写按钮监听器里面的方法了,直接写个界面加到里面就可以了。

    删除功能是按照id删除,需要输入要删除的id
    下面是执行删除功能的核心代码,数据库连接等代码都是恒定不变的,就不贴了,学编程绝对不能一味的Ctrl+c;Ctrl+v;一定要自己的思考,亲手敲一遍

    Delete.java

    String sql="delete Students where Id ='"+s1+"'";
    	    	  
    	    	  Statement statement = null;
    				
    	    	  try {
    					statement = con.createStatement();
    				} catch (SQLException e2) {
    					// TODO Auto-generated catch block
    					e2.printStackTrace();
    				}
    		    try {
    			     
    				 int resultset = statement.executeUpdate(sql);
    			} catch (SQLException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}	    	  	    	   
    		    
    		    JOptionPane.showMessageDialog(null, "删除学生信息成功", "完成",
    	    			   JOptionPane.INFORMATION_MESSAGE);
    	    	  
    					}	    
    	    	  }catch (HeadlessException | SQLException e2) {
    					// TODO Auto-generated catch block
    					e2.printStackTrace();
    				}
    

    更新功能

    更新功能的实现,我用到了sql中if语句的拼接,从而实现,更新指定标签的内容

    Update.java

    String sql = "update Students set Id = '"+s1+"'";   	    	 
                String sql1="where Id='"+s1+"'";
                
                
                
        		if(s2!= null&&!s2.equals("")) sql+=",Name ='"+s2+"'";
        				
        		if(s3!= null&&!s3.equals("")) sql +=",Sex ='"+s3+"'";	
        		
        		if(s4!= null&&!s4.equals("")) sql +=",Tel ='"+s4+"'"; 
        					 
        		if(s5!= null&&!s5.equals("")) sql += ",Grade ='"+s5+"'";
        						
        		if(s6!= null&&!s6.equals("")) sql +=",Address ='"+s6+"'";
        			 
        		if(s7!= null&&!s7.equals("")) sql +=",Birth ='"+s7+"'";
        		
           		String sql3= sql+sql1;
        		Statement statement=null;
        		try {
    				statement = con.createStatement();
    			} catch (SQLException e2) {
    				e2.printStackTrace();
    			}
        		try {
    				int result = statement.executeUpdate(sql3);
    			} catch (SQLException e1) {				
    				e1.printStackTrace();
    			}
        		
        		JOptionPane.showMessageDialog(null, "更新学生信息成功", "完成",
        				   JOptionPane.INFORMATION_MESSAGE);
    

    查询功能

    Select.java

    String sql="select Id,Name,Sex,Tel,Grade,Address,Birth from Stu.Students where ID ='"+Select.id1.getText()+"'";		    	
    PreparedStatement pstm = con.prepareStatement(sql);// 执行查询
    ResultSet rs = pstm.executeQuery();
    // 计算有多少条记录
    int count = 0;
    while(rs.next()){
    count++;
    }
    rs=pstm.executeQuery();
    

    查询还涉及到最后是用文本区显示还是使用表格显示,这个就需要自己设计了

    一定要注意,代码中凡是涉及数据库名,和数据表名字的一定要改成自己的

    好了,就分享到这里,欢迎留言,大家探讨。

    展开全文
  • 一、前言 在此之前可看下另一个错误是否伴生,有的话先解决数据库访问超时 在学习AndroidAndroid入门...java.lang.NullPointerException: Attempt to invoke interface method 'java.sql.Statement java.sql.Con...

    一、前言

    在此之前可看下另一个错误是否伴生,有的话先解决数据库访问超时

    在学习AndroidAndroid入门案例(二)——JDBC连接MySql数据库使用jdbc方式连接本地数据库时报错:

    java.lang.NullPointerException: Attempt to invoke interface method 'java.sql.Statement 
    java.sql.Connection.createStatement()' on a null object reference

    这个因为Android4.0以后不支持在主线程进行耗时操作,因此,如果设备是4.0版本以上的,请新开一条线程操作数据库

    具体细节请参考Android入门案例(二)——连接MySql数据库中有关线程的部分

    展开全文
  • Java操作SQL Server数据库

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程

                   

    //首先导入sql server2008的jar包:sqljdbc4.jar,注意在一般的电脑上即使做了这样的操作仍然是吧不能连接上SQL Server 2008的,如果想连上SQL SQLSERVER2008还要做一下配置:请看博文:http://hi.baidu.com/1032610746/item/a1a84d086a9225e43599023f    和   http://hi.baidu.com/1032610746/item/41091f51549dfdd3d48bac36,如果想了解更多关于SQL SERVER应用方面的用法:请看:http://hi.baidu.com/1032610746/archive/tag/sql%20server

     

    package cn.edu.hactcm;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;

    /**
     * @author <a href="mailto:1032610746@qq.com">涂作泉</a>
     *
     * @version 1.2 2012-5-20
     * @sqlserverjdbc
     */
    public class InsertDemo {
     public static final String DBDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
     //定义SQL Server数据库的连接地址
     public static final String DBURL = "jdbc:sqlserver://localhost:1433;databaseName=mobileshop;";
     public static final String DBUSER = "sa";
     public static final String DBPASS = "123456";
     
     public static void main(String[] args) throws ClassNotFoundException, SQLException {
      Connection conn = null; //数据库连接
      Statement stmt = null;  //数据库操作
      
      String sql = "insert into mobileshop_brand(id,brandname) values(1,'诺基亚')";
      Class.forName(DBDRIVER);   //加载数据库驱动
      conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
      stmt = conn.createStatement();    //实例化statement对象
      stmt.executeUpdate(sql);//执行数据库操作
      stmt.close();
      stmt.close();
      conn.close(); 
     }
    }

               

    浏览人工智能教程

    展开全文
  • 从零开始的java连接sqlserver数据库教程

    万次阅读 多人点赞 2017-10-30 23:22:25
    自己学习java过程中做的一点笔记
  • Java学习之连接sqlserver数据库

    千次阅读 2019-01-03 10:15:46
    最近看一本书用的sqlserver,就暂且拿sqlserver学习一下,其他的都大致一样。  1、运行sqlserver  用于学习,构建小型的数据库,在网上找了一个绿色版的sqlserver,网址为:...
  • JavaSQL注入方法

    千次阅读 2017-06-21 10:45:58
    JavaSQL注入方法
  • JavaSQL注入过滤器代码

    万次阅读 2019-11-04 16:49:49
    所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,达到一定的非法用途。 解决办法 1、配置WEB-INF/web.xml web-app&...
  • Java连接SQL Server2008

    万次阅读 2013-11-08 23:47:18
    JAVA连接SQL2008与SQL2000有很大的不同。 1.首先要去Microsoft官网下载sqljdbc2.0驱动——Microsoft SQL Server JDBC Driver 2.0.exe,很小大概就4M,解压后里面有2个Jar包,sqljdbc4.jar和sqljdbc.jar,这两个都...
  • java.sql.SQLSyntaxErrorException: Unknown database 数据名 我是没有对应的数据库 也可能是jar包问题 Exception in thread “main” java.sql.SQLException: The server time zone value 这个错误是时区问题 ...
  • 起初,各大数据库运营商都有自己独特的一套和java交互规范,因此每用一款数据库就得重新学习该公司产品与java交互的规范,这让java开发人员很头疼。 Sun公司写java.sql包中的接口的初衷就是为了方便开发人员,让开发...
  • Java程序操作数据库SQLserver详解

    万次阅读 多人点赞 2019-01-15 08:16:49
    (尊重劳动成果,转载请注明出处:... 目录 数据库基本操作:增删改查(CRUD) crud介绍:(增、删、改、查操作) jdbc基本的概念 ...JDBC(Java Data Base Connectivity,java数据库连接): J...
  • 在我们的日常开发中,经常和数据库打交道,所以很多人也会各种各样的SQL和不同的DBMS系统,那么本篇是帮助你普及一些SQL相关知识。欢迎关注哟! ——————————————注:文末附Java相关视频教程及网盘下载...
  • 2019全新Java学习路线图-分享

    万次阅读 多人点赞 2019-03-20 18:14:46
    2019年最新Java学习路线图,路线图的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。从今天起不要再找借口,不要再说想学Java却没有资源,赶快行动起来,Java等你来探索,高薪距你只差一步! java...
  • 基于JavaSQL解析工具的比较与学习

    千次阅读 2018-06-29 16:34:01
    1、JSqlParsergtihub 地址: https://github.com/JSQLParser/JSqlParser.git使用方法:/** * * @Package: com.yonyou.splice * @author: caozq * @date: 2018年6月26日 下午12:03:52 */ ......
  • 关于这个问题,是在使用Activiti的时候遇到的,如下图:具体内容如下:Caused by: org.apache.ibatis.exceptions.PersistenceException... Cause: java.sql.SQLException: The server time zone value 'Öйú±ê...
  • java.sql.SQLSyntaxErrorException: ORA-00971: 缺失 SET 关键字
  • 1 设计目标就数据库学习应用于生活,以简单数据库应用为例,本小组以制作“酒店管理系统”为目标。该管理系统已经能实现一些酒店住房管理的一些基本功能,适用于中小型宾馆使用及访问,旨在用计算机系统为操作人员...
  • 解决java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver问题 学习java连接sql server 2008数据库时候,遇到java.lang.ClassNotFoundException: ...
  • 学习hibernate的乐观锁,编写demo的时候出现了错误,报错的主要信息如下:Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your ...
1 2 3 4 5 ... 20
收藏数 203,493
精华内容 81,397
关键字:

java怎么学习sql