DCL语句
我们现在默认使用的都是root用户,超级管理员,拥有全部的权限。但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库。所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。
1.创建用户
create user '用户名' @ '主机名' identifide by '密码';
2.授权用户
create 权限1,权限2 on 数据库名.表名 to '用户名'@'主机名';
3.修改管理员密码
mysqladmin -uroot -p password 新密码 (不需要加引号)
4.修改普通用户密码
set password for '用户名'@'主机名'= password('新密码');
注意:需要在登陆MySQL的情况下操作。
jdbc的概念
客户端操作mysql数据库的方式.
1.什么是jdbc
java数据库连接技术.JDBC是官方制定的操作数据库规范(接口),是由一组接口组成的,接口的实现是由数据库厂商实现。
作用:用来操作数据库,对数据执行增删改查操作
JDBC的好处:
代码不依赖任何的数据库
只要修改少量的代码就可以访问其它类型的数据库。
2.jdbc常用API:
Driver:接口,驱动接口 注册驱动
Connection:接口 连接对象 用来与数据库建立连接
Statement:接口 SQL语句发送对象 用来将SQL语句发送给数据库执行并获得执行结果
ResultSet:接口 结果集对象 用来封装满足查询条件的记录
DriverManager:类 工具类 用来注册和管理驱动 用来获得连接对象
3.jdbc获取连接步骤
(1).导入驱动Jar包
(2).注册驱动
(3).获取连接
4.注册驱动
注册驱动的方法:
Class.forName("com.mysql.jdbc.Driver");
获取连接的方法:
Connection con =
DriverManager.getConnection(jdbc:mysql:///要操作的表, 用户名, 密码);

4.JDBC之执行增删改操作:
Statement对象介绍
作用
SQL发送对象
将SQL语句发送给数据库执行并获得执行结果。
5.如何获取statement对象
通过调用连接对象的方法获取:
Statement sta = con.createStatement();
sta.executeUpdate();更新或者修改
sta. executeQuery();查询
6. ResultSet对象的介绍
结果集对象:用来封装满足查询条件的记录
(2).如何获得ResultSet对象
通过Statement对象的方法获取
ResultSet rls = sta.executeQuery();
方法: boolean next();将指针下移一行并判断当前指针指向的位置是否有记录,有则返回true,否则返回false
* Xxx getXxx(列号/列名)
用法:使用while循环获取;
7.jdbc工具类实现
工具类写法
JDBC工具类
*/
public class JDBCUtil {

private static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql:///需要操作的表";
private static final String USER = "账户名";
private static final String PASSWORD = "密码";

static {
try {
// 注册驱动
Class.forName(DRIVER_CLASS);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

// 返回连接对象
public static Connection getConnection(){
try {
return DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
// 将编译时异常转换为运行时异常
throw new RuntimeException("没有获取到连接对象,连接失败....");
}
}

// 关闭资源
public static void close(Statement stmt,Connection conn){
close(null, stmt, conn);
}

// 关闭资源
public static void close(ResultSet rs, Statement stmt, Connection conn){
try {
// 关闭资源
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}

try {
// 关闭资源
if (stmt != null)
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
---------------------------------------------

关闭资源的注意事项
* 开启顺序:Connection --> Statement --> ResultSet
* 关闭顺序:ResultSet --> Statement --> Connection

DCL语句的更多相关文章

  1. 《oracle每天一练》触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句

    触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句 在触发器中不能运行 ddl语句和commit,rollback语句 ddl语句:DDL语句用语定义和管理数据库中的对象,如Creat ...

  2. Mysql---DML 语句与DCL语句

    DML 语句: DML 操作是指对数据库中表记录的操作,主要包括表记录的插入(insert).更新(update).删除(delete)和查(select),是开发人员日常使用最频繁的操作.下面将依次 ...

  3. 详解MySQL第三篇—DCL语句

    DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些语句定义了数据库.表.字段.用户的访问权限和安全级别.主要的语句关键字包括 g ...

  4. mysql DCl语句

    DCl 语句主要书DBA用来管理系统中的对象权限使用 grant select,insert on sakila.* 'kingle'@'localhost' identified by '123'; ...

  5. MySQL基础:DCL语句总结

    SQL语言大致分为DCL.DDL.DML三种,本文主要介绍MySQL 5.7版本DCL语句. 概述 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可 ...

  6. DDL DML DCL语句

    总体解释:DML(data manipulation language):自动提交的数据库操作语言       它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样 DDL( ...

  7. 详解MySQL---DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  8. MySQL的DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  9. oracle PL/SQL管理命令语句

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

随机推荐

  1. Java基础(一)-- Java对字符串操作大全

    一.Java字符串类基本概念 在JAVA语言中,字符串数据实际上由String类所实现的.Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串:二类是在程序中会被改变长度的可变字符串.J ...

  2. helm生产环境离线安装

    1.安装helm 生产环境离线的情况下,使用tiller前端运行还是后端运行可以根据自己需求,如果希望tiller可以稳定的运行,可以尝试docker跑以下,作者没有尝试不知是否会成功.但是不通过he ...

  3. CODESYS添加target

    1.主界面进入Tools 2.Install,选择安装包

  4. 《Maven实战》读书笔记

    一.Maven使用入门 POM(Project Object Model,项目对象模型),定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等 二.坐标和依赖 1.何为Maven坐标 Mave ...

  5. [C++] C++中的宏定义详解

    转载自:C++中的宏定义 和 C++宏定义详解 一.#define解析     #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率 ...

  6. 记一次处理mysql数据库无故锁表的经历

    某日,生产环境上的用户表突然无故锁表,原以为只是偶发的bug.所以第一时间想到的解决方案简单粗暴:重启数据库(service mysqld restart).问题得以解决. 10min后,该表再次锁表 ...

  7. chsime.exe cpu占用高

    打开管理员的命令提示符,运行 if exist "%SystemRoot%\System32\InputMethod\CHS\ChsIME.exe" (takeown /f &qu ...

  8. hadoop集群单点配置

    =================== =============================== ----------------hadoop集群搭建 --------------------- ...

  9. Spring boot 梳理 - 代码结构(Main类的位置)

    Spring boot 对代码结构无特殊要求,但有个套最佳实践的推荐 不要使用没有包名的类.没有包名时,@ComponentScan, @EntityScan, or @SpringBootAppli ...

  10. visual c++.net 技术内幕 第6版 附带的程序如何在vs2013中编译成功

    看vc++技术内幕时 如果你使用的是比此书的附带项目更新版的vs时千万不要使用这种方法,这些对编译都有影响. 请使用当前新版的vs并输入书中改动的代码就Ok,因为vs会生成合理的mfc代码,养成好的习 ...