Mysql总结

1.Mysql数据库管理人员(rooot) ,根据需要创建不同的用户,赋给相应的权限,供人员使用。mysql中的用户,都存储在系统数据库mysql中 user表中。host:允许登录的"位置",localhost表示该用户只允许本机登录。user:用户名。authentication_string:密码,是通过mysql的password()函数加密之后的密码。

创建用户:careate user '用户名' @' 允许登录位置' identified by '密码'

CREATE USER 'fu_sjk'@'localhost' IDENTIFIED BY '123456'; 
SELECT `host`,`user`,authentication_string
    FROM mysql.user;

删除用户:drop user '用户名' @' 允许登录位置' ;

DROP USER 'fu_sjk'@'localhost';

修改自己的密码:set password = password('密码');
SET PASSWORD = PASSWORD('123456');
修改他人的密码(需要有修改用户密码权限):set password for '用户名'@'登录位置' = password('密码');
SET PASSWORD FOR 'fu_sjk'@'localhost' = PASSWORD('123456');

给用户授权基本语法:grant 权限列表 on 库.对象名 to '用户名' @' 登录位置' [identified by '密码']  identitied by省略就是修改该用户的密码。identitied by写出就是创建该用户。

*.* :代表本系统中的所有数据库的所有对象(表,视图,存储过程)。  库.* :表示某个数据库中的所有数据对象(表,视图,存储过程等)

CREATE USER 'ixingfu'@'localhost' IDENTIFIED BY '123'
CREATE DATABASE testdb;
CREATE TABLE news(
    id INT,
    content VARCHAR(32));
INSERT INTO news VALUES(100,'北京新闻');
SELECT * FROM news;
GRANT SELECT,INSERT
    ON testdb.news
    TO 'ixingfu'@'localhost'
GRANT UPDATE
    ON testdb.news
    TO 'ixingfu'@'localhost'
-- 修改 ixingfu的密码为abc
SET PASSWORD FOR 'ixingfu'@'localhost' = PASSWORD('abc');


REVOKE SELECT,UPDATE,INSERT ON testdb.news FROM 'ixingfu'@'localhost';
REVOKE ALL ON testdb.news FROM 'ixingfu'@'localhost';
-- 删除 ixingfu
DROP USER 'ixingfu'@'localhost';

2.在创建用户的时候,如果不指定Host,则为%,%表示所有IP都有连接权限create user ...;  或者create user '...'@'192.168.1.%'

CREATE USER jack;
SELECT `host`,`user` FROM mysql.user;

CREATE USER 'smith'@'192.168.1.%'

-- 删除用户

DROP USER jack 
DROP USER 'smith'@'192.168.1.%'

3.Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作。JDBC是Java提供一套用于数据库操作的接口API,Java程序员只需面向这套接口编程即可。不同的数据库厂商,需要针对这套接口,提供不同的实现。JDBC程序编写步骤:(1)注册驱动(加载Driver类)。(2)获取连接(得到Connection)。(3)执行增删改查。(4)释放资源(关闭相关连接)。

CREATE TABLE actor(
    id INT PRIMARY KEY AUTO_INCREMENT,
    `name` VARCHAR(32) NOT NULL DEFAULT '',
    sex CHAR(1) NOT NULL DEFAULT '女',
    borndate DATETIME,
    phone VARCHAR(12));
SELECT * FROM actor;

要通过JDBC连接并操作Mysql数据库,需要下载一个Mysql数据库驱动jar包。把下载的jar包拷贝到项目的libs下,点击libs -> 右键 -> Add as Library(这才是真正导入jar包)。

public static void main(String[] args) throws SQLException {
    //1. 注册驱动
    Driver driver = new Driver();
    //2. 得到连接
    String url = "jdbc:mysql://localhost:3306/fu_db03";
    Properties properties = new Properties();
    properties.setProperty("user", "root"); //用户
    properties.setProperty("password", "root"); //密码
    Connection connect = driver.connect(url, properties);
    //3. 执行sql
    //String sql = "insert into actor values(null,'小明','男','2000-1-1',22222)"; //添加
    //String sql = "update actor set name='小强' where id = 1"; //修改
    String sql = "delete from actor where id =1"; //删除
    Statement statement = connect.createStatement();
    int rows = statement.executeUpdate(sql); 
    System.out.println(rows > 0 ? "成功" : "失败");
    //4. 关闭连接资源
    statement.close();
    connect.close();
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值