Java 中使用MySQL

控制台简易命令使用

控制台基本操作

权限和用户
mysql -u root -p //回车输入密码
改密码update user set password=password("123456") where user="root";
或者mysqladmin -u USER -p password 新密码

创建用户admin,密码123456,只能在本机登录数据库
create user admin@localhost identified by '123456';
如果是在所有机器登录,改为create user admin@'%' identified by '123456';
查看用户的权限show grants for admin@localhost;//一开始admin无任何权限

赋予权限
grant create,alter,drop,insert,update,delete,select on django.* to admin
@localhost;//Django是表名,权限可以是若干个,如果是全部可以
grant all on django.* to admin@localhost;

撤销权限
revoke create,alter on django.* from admin@localhost;

删除用户
drop user admin@localhost;

修改用户密码
update user set password=password('你的新密码') where user='admin' and 
Host='localhost';
flush privileges;



操作数据库
show databases;//查询所有数据库
create database django DEFAULT CHARACTER SET utf8 COLLATE  utf8_general_ci//创建一个数据库,名称django,字符集utf8
drop database django;//删除名为django的数据库
use django;//使用数据库django

显示表show tables;
创建表create table `django`.`PersonInfo`( `id` int(12) NOT NULL AUTO_INCREMENT COMMENT '序号', `name` char(50) CHARSET utf8 NOT NULL COMMENT '姓名', `job` char(50) CHARSET utf8 NOT NULL COMMENT '工种', PRIMARY KEY (`id`))  ;
显示表如何被创建show create table XXXX;
删除表
drop table XXX;


修改表:
添加varchar类型的列,列名YYY:alter table XXX add(YYY,varchar(100));
修改某一列YYY的数据类型 : alter table XXX modify YYY char(2);
修改列YYY的名称为ZZZ:alter table XXX change YYY ZZZ char(2);
删除列YYY:alter table XXX drop YYY;
修改表名: alter table XXX rename to KKK;

删除表记录之后如何使用ID从1开始
truncate table XXX

导出:

导出某个数据库
mysqldump -u 用户名 -p 数据库名 > 导出文件名
导出数据库中的某个表
mysqldump -u 用户名 -p 数据库名 表名 >导出文件名

导出数据库的结构
mysqldump -u 用户名 -p -d --add-drop-table 数据库名 >导出文件名

导入
进入mysql命令后
source 导入文件路径 MySQL控制台基本操作

更详细的操作可以参考该文档

可视化工具sql manager 

修改字符集为utf8mb4:link

上述表使用sqlyog可视化界面创建,sqlyog下载(内含注册码)或者sqlyog下载地址

控制台查看表结构,

 使用Java获取该表(数据库名django,表名personinfo)的所有信息

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

public class MainFIle {

    /**
     * @param args
     * @throws ClassNotFoundException 
     */
    public static void main(String[] args) throws ClassNotFoundException {
        // TODO Auto-generated method stub
        String jdbc_driver="com.mysql.cj.jdbc.Driver";
        String db_url="jdbc:mysql://localhost:3306/django?serverTimezone=GMT%2B8";
        String user="root";
        String pwd="123456";
        Connection con=null;
        java.sql.Statement stmt=null;
        try {
            con=DriverManager.getConnection(db_url,user,pwd);
            stmt=con.createStatement();
            String sql="select * from personinfo";
            ResultSet rs=stmt.executeQuery(sql);
            while(rs.next()) {
                int id=rs.getInt("id");
                String name=rs.getString("name");
                String job=rs.getString("job");
                System.out.println("well,here is your data: id is "+id+"with name: "+name+" and job:"+job);
            }
            rs.close();
            stmt.close();
            con.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                if(stmt!=null)
                    stmt.close();
            }catch(Exception ex) {
                ex.printStackTrace();
            }
            
            try {
                if(con!=null)
                    con.close();}
                catch(Exception ex) {
                    ex.printStackTrace();
                }
            }
    }
}
原文地址:https://www.cnblogs.com/legion/p/9188262.html