2021-1-26知识点

:SQL数据库

一、SQL概念

SQL(structure query language)语言,是数据库结构化查询语言,也是数据库的核心语言;自1974年开始,最后由美国的ANSI组织宣布了SQL作为数据库工业标准;sql优势:功能性强,高效性,简单易维护;

二、SQL的分类

SQL分为4大类:

  • 数据查询语言:DQL

数据查询语言基本结构由select子句,
From字句,where子句组成的查询块;
SELECT<字段名表>
FROM<表或视图名>
WHERE<条件>

  • 数据操纵语言:DML

数据操纵语言DML主要有三种形式:

  1. 插入:INSERT
  2. 更新:UPDATE
  3. 删除:DELETE
  • 数据定义语言:DDL

数据库定义语言DDL用来创建数据库中的各种对象:
表或视图或同义词或聚簇
Create table/view/index/syn/cluster

  • 数据控制语言:DCL

数据控制语言DCL用来授权或回收数据库的某种特权,并控制数据库操作事物事物发生的时间和效果,对数据库进行某种监控(监视).
1:GRANT:授权
2:ROOLBACK[WORK] TO [SAVEPOINT]:回退到某个点
回滚–ROOLBACK
回滚命令使数据库状态回到上次最后提交的状态,
其格式为:SQL>ROOLBACK
3:COMMIT[WORK]:提交
3.1:显示提交
SQL->COMMIT
3.2:隐式提交(了解)
部分SQL是自带隐式提交:
ALTER,EXIT,CREATE,QUIT…
3.3:自动提交
把数据库的AUTOCOMMIT设置为ON,
则数据库操纵(插入以及修改和删除语句执行后,系统
将自动进行提交,格式为:
SQL->SET AUTOCOMMIT->ON

三、JDBC的应用

实例:

public class Demo01 {
	public static void main(String[] args) {
		//1:加载JDBC(java数据库链接)驱动
		try {
			Class.forName("com.mysql.jdbc.Driver");
			System.out.println("jdbc加载成功");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		/*
		 * 2:创建数据库的连接
		 */
		/*
		 * url:mysql的主机地址+端口号等信息
		 * 		示例:jdbc:mysql://localhost:3306/db2
		 * 			 jdbc:mysql是mysql的主机地址
		 * 			 3306是mysql的端口
		 * 			 db2是数据库
		 * username:登录的用户名
		 * password:登录的密码
		 */
		String url = "jdbc:mysql://localhost:3306/db2?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
		String user = "root";
		String password = "root";
		
		Connection con = null;
		try {
			con = DriverManager.getConnection(url,user,password);
			
			System.out.println("连接数据库成功");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("连接数据库失败");
		}
		/*
		 * jdbc:mysql://localhost:3306/db2
		 * ?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
		 * serverTimezone=GMT%2B8是GMT时间+8
		 * 
		 */
		/*
		 * 3:创建处理器
		 */
		Statement stat = null;//外面定义stat为null
		try {
			//里面重新给stat赋值
			stat = con.createStatement();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		/*
		 * 4:准备sql
		 * 
		 */
		String sql = "insert into staff values("+"1"+",'甘赵辉'"+")";
		String sql2 = "select * from testjdbc";
		/*
		 * 5:执行sql
		 */
		try {
			boolean flag = stat.execute(sql);
			boolean flag2 = stat.execute(sql2);
			System.out.println(flag);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		/*
		 * 6:释放资源
		 */
		try {
			stat.close();//关闭传输器
			con.close();//关闭连接
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页