【数据库】数据库常见操作指令

更新记录

时间操作备注
2021.12.27添加常见指令操作

目录

操作类型
cmd连接数据库指令创建表,插入表更新,查看更改表名,增加删除字段JDBC连接数据库

指令

SQL:结构化查询语言

DDL(定义),DML(操作),DQL(查询),DCL(控制)

mysql:

操作指令

连接数据库

// 进入mysql 
mysql -u root -p

// 显示数据库
show databases;
show tables;


//进入某个数据表
use dataname;


// 当前数据库显示其他数据表
show tables from mysql; 从mysql 显示mysql


// 显示当前是在哪个数据量
show database();
//插入数据

INSRERT INTO 表名 (字段名) values (插入数据值);


// 显示表内容 desc  describe 描述
desc 表名;


// 更新表内容
update news_users set uname='jucw' where uname='zcw'; // 将uname 名字更换

  • 创建表
create table NEWS_USERS
(
usid int not null primary key AUTO_INCREMENT,
uname VARCHAR(20) not null,
upwd VARCHAR(20) not null
);

创建表字段 : 类型 非空 主键
varchar() 是可变字符集,最大长度是指定的长度,char 是不变字符集,小于指定长度空间依旧是分配指定长度,不能大于指定长度;

表中插入数据

INSERT INTO 表名 (对应字段名) values (对应数据)

更改操作:




alter table news_users AUTO_INCREMENT=10;
INSERT into news_users(uname,upwd) VALUES('danny','32333');
指定编号,原本是自增1;现在指定位置是10,接下来是从10开始插入数据

查看创建表的语句

show create teble 表名;

在这里插入图片描述

修改表名:

rename table 旧 to 新;

在这里插入图片描述

增加删除新的字段:interest

alter  table 表名 add column 字段名 类型; // 指定放在前面使用first

//删除
alter table 表名 drop 字段名;

在这里插入图片描述

使用JDBC 来连接数据库

装驱动

  1. con 连接到数据库
  2. stamt 声明用于执行语句
  3. 执行sql 查询或者更新操作
  4. 移动游标来定位需要的结果
  5. 关闭数据传输流,关闭连接流
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class jdbc {
    public static void main(String[] args) {
        Connection con = null;

        ResultSet rs = null;
        try {
            // 1. 引入驱动
            String sql = "select * from news_users where usid = 10";
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 访问驱动管理程序
            con = DriverManager.getConnection("jdbc:mysql://localhost/db_news?useSSL=FALSE&serverTimezone=Asia/Shanghai","root","123456");
            Statement stmt = con.createStatement();
            rs = stmt.executeQuery(sql);
            while(rs.next())

            {
                // 使用游标获取当前行,每次往下移动
                //获取当前行的每一列数据
                int id = rs.getInt("usid");
                String uname = rs.getString("uname");
                String pwd = rs.getString("upwd");
                System.out.println(id+uname+pwd);
            }

            System.out.println("\t连接成功");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        try{
//            插入数据
            System.out.println("\t插入数据 ");
            // 1. 创建执行语句
            String sql1 = "insert into news_users(uname, upwd) values('zcw', '123456')";
            // 2. 声明用于执行数据库语句
            Statement stmt = con.createStatement();// statement 来执行数据库
            // 3. 将数据执行插入到数据库
            stmt.executeUpdate(sql1);
            System.out.println("\t数据更新成功+'zcw', '123456'!!!");
        }
        catch (Exception e)
        {
            e.printStackTrace();

        }

        try{
//            插入数据
            System.out.println("\t统计数据: ");
            // 1. 创建执行语句
            String sql1 = "select COUNT(*) from news_users";
            // 2. 声明用于执行数据库语句
            Statement stmt = con.createStatement();// statement 来执行数据库
            // 3. 将数据执行插入到数据库
            rs = stmt.executeQuery(sql1);
            rs.next();
            int c = rs.getInt(1);
            System.out.println("\tcount:"+c);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

        try{
//            插入数据
            System.out.println("\t统计数据: ");
            // 1. 创建执行语句
            String sql1 = "DELETE FROM news_users where usid = 16";
            // 2. 声明用于执行数据库语句
            Statement stmt = con.createStatement();// statement 来执行数据库
            // 3. 将数据执行插入到数据库
            int row = stmt.executeUpdate(sql1);

            System.out.println("\t删除了:"+row);

            System.out.println();
        }
        catch (Exception e)
        {
            e.printStackTrace();

        }
    }
}



使用DAO 进行增删改查

  • preparedStatement :预处理的接口

    1. 通过占位符设参数
  • 定义函数

    • 查找用户

      String sql = "select * from 表名 where usid=?"; //传进来的参数是id
      
      #使用prepareStatement 可以预编译sql
      #设置占位符的参数
      pre.setInt(1,id) # 这里的占位符跟format 是一样的,指定的位置是第几个参数
      # 开始执行参数
      rs = pre.executeQuery() # 这里不同于Statement 不用传进来sql
      
      使用try catch finally 最终在finally关闭连接
      
      
    • 添加用户

      
      # 需要传进来两个参数 用户名和密码
      String sql = "Insert into 表名(uname, upwd) value (?,?)" # 在这里占位
      
      # 预编译sql
      # 设置占位符的值
      pre.setString(1, user.getUsername()); #传进来数据
      pre.setString(2, user.getUserpwd()); # 传进来密码
      
      
      
    • 修改用户数据

      # 将所有数据重新写入一边
      #一行设置
      
    • 删除数据

      # 根据指定的id把用户数据删除
      pre.setInt(1,id); # 将sql 语句的值补充完整
      

  • 测试的时候:

    • 添加用户

      1. 创建新的用户类,设置新的用户信息,将新的用户信息传到添加函数里面去;
    • 删除用户

      1. 根据指定的id找到指定的用户

      2. 将指定的用户添加到删除函数里面,返回删除的行数

    • 修改用户数据

      1. 根据id查找到指定的用户
      2. 将找到的用户添加到修改函数里,返回删除的行数
    • 查找用户

      1. 根据指定的id查找的用户
      2. 提取用户的字段显示

注意点

  1. mysql 不能使用 TOC 来限制查询长度,这个是ORACLE有的;使用Limit;
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jucway

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值