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

Posted Jucway

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库数据库常见操作指令相关的知识,希望对你有一定的参考价值。

更新记录

时间操作备注
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;

以上是关于数据库数据库常见操作指令的主要内容,如果未能解决你的问题,请参考以下文章

常见的操作系统漏洞都有哪些怎么解决

linux:基本指令操作常见指令操作及总结

MySQL常用指令

Vue学习系列 -- 常见事件/指令学习

redis数据类型和操作指令

2018/10/03-字符串指令(重复指令操作数据缓冲区指令)rep与movx指令-《恶意代码分析实战》