JAVA数据库mysql增删改查操作

本文介绍了JAVA连接MySQL数据库执行SQL语句的方法,包括如何建立数据库、创建和删除表、数据类型的使用以及主键约束。通过示例展示了SQL语句的格式和操作,如插入、更新和删除数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库

  1. 学习如何对数据进行增删改查操作

SQL

  1. Structured Query Language 结构化查询语言, 此语言是用于程序员和数据库软件进行交流的语言

         insert into user values("刘德华",50);

如何连接数据库执行SQL语句

  1. 执行SQL语句之前需要先和数据库软件进行链接  
  1. 从开始菜单中找到MariaDB或MySQL文件夹 展开后找到 MySQL Client 然后输入密码回车
  2. 如果使用的Linux或苹果系统  打开终端 然后输入 mysql -uroot -p  回车 然后输入密码回车
  3. 显示下图内容 代表成功

    4.退出命令  exit;

数据库中如何保存数据

  1. 数据库中以表为单位保存数据,表是存在于数据库之中, 保存数据则需要先建库再建表

SQL语句格式要求:

  1. 以;结尾
  2. 不区分大小写
  3. 可以包含空格和换行

数据库相关SQL

  1. 查询所有数据库
  1. 格式: show databases;       
  1. 创建数据库
  1. 格式: create database 数据库名 charset=utf8/gbk;
  1. 举例:
    • create database db1;
    • create database db2 charset=utf8;
    • create database db3 charset=gbk;
    • show databases;   
  1. 查看数据库信息
  1. 格式: show create database 数据库名;
  1. 举例:
    • show create database db1;
    •     show create database db2;
    •     show create database db3;
  1. 删除数据库
  1. 格式: drop database 数据库名;
  1. 举例:
    • drop database db2;
    • drop database db3;
  1. 使用数据库
  1. 执行表相关和数据相关的SQL语句之前必须使用了某一个数据库 否则会报错.
  1. 格式:  use 数据库名;
  1. 举例:
    • use db1;

表相关的SQL语句

  1. 执行表相关的SQL语句必须提前使用了某个数据库,否则会报错

use db1;

  1. 查询所有表
  1. show tables;
  1. 创建表
  1. 格式: create table 表名(字段1名 类型,字段2名 类型)charset=utf8/gbk;
  1. 举例:
    • create table person(name varchar(50), age int);
    • create table hero(name varchar(50),money int,type varchar(10))charset=utf8;
    • create table student(name varchar(50),chinese int,math int,english int)charset=gbk;
    • show tables;
  1. 查看表信息
  1. 格式: show create table 表名;
  1. show create table student;
  1. 删除表
  1. 格式: drop table 表名;
  1. drop table student;
  1. 修改表名
  1. 格式: rename table 原名 to 新名;
  1. 举例:
    • rename table person to p;
  1. 查看表字段
  1. 格式: desc 表名;              desc = description 描述
  1. 举例:
    • desc p;

表相关SQL(续)

use db1;

create table emp(name varchar(50));

  1. 添加表字段
  1. 最后面添加格式:   alter table 表名 add 字段名 类型;
  1. 最前面添加格式: alter table 表名 add 字段名 类型 first;
  1. 在xxx字段的后面添加格式: alter table 表名 add 字段名 类型 after xxx;
  1. 举例:
    • alter table emp add age int;
    • alter table emp add id int first;
    • alter table emp add gender varchar(5) after name;
    • desc emp; 
  1. 删除表字段
  1. 格式: alter table 表名 drop 字段名;
  1. 举例:
    • alter table emp drop gender;
    • alter table emp drop age;
  1. 修改表字段
  1. 格式: alter table 表名 change 原名 新名  新类型;
  1. 举例:
    • alter table emp change name age int;
    • alter table emp change id name varchar(50);

数据类型

  1. 整数: int(m) 和 bigint(m) , bigint等效java中的long,  m代表显示长度,举例m=5,存18  查询到 00018   , 需要补零的话必须使用zerofill关键字            

create table t1(age int(5) zerofill);

insert into t1 values(18);

select * from t1;

  1. 浮点数: double(m,d)  m代表总长度,d代表小数长度   54.432  m=5 d=3  

create table t2(price double(5,3));

insert into t2 values(45.2312312123);

insert into t2 values(455.231);   //报错

  1. 字符串
  1. char(m): 固定长度字符串 , m=5  存abc  占5个字符长度 , 应用场景: 当存储长度固定时,比如存储性别char(1)  , 最大字符长度255
  1. varchar(m):可变长度字符串, m=5 存abc 占3个字符长度, 最大值65535但是建议保存255以内长度的数据
  1. text(m):可变长度字符串, 最大值65535 建议保存长度大于255的数据
  1. 日期
  1. date: 只能保存年月日
  1. time: 只能保存时分秒
  1. datetime: 保存年月日时分秒, 最大值9999-12-31, 默认值为null
  1. timestamp(时间戳:保存1970年1月1日到现在的毫秒数):保存年月日时分秒, 最大值2038-1-19 , 默认值为当前系统时间(当赋值为null时触发默认值)
  1. 举例:

create table t_date(t1 date,t2 time,t3 datetime,t4 timestamp);

insert into t_date values("2022-06-09",null,null,null);

insert into t_date values(null,"16:16:20","2011-11-22 10:20:30",null);

select * from t_date;

主键约束 primary key

  1. 约束: 创建表时给表字段添加的限制条件
  1. 主键: 表示数据唯一性的字段称为主键
  1. 主键约束: 限制主键的值唯一且非空
  1. 举例:

create table t5(id int primary key,name varchar(30));

insert into t5 values(1,"a");

insert into t5 values(2,"b");

insert into t5 values(2,"c");    //重复报错

insert into t5 values(null,"d");      //不能为null 报错 

主键约束+自增  primary key auto_increment

  1. 当字段设置为自增后 插入null值时会触发自增
  1. 自增规则: 从历史最大值+1
  1. 举例:

create table t6(id int primary key auto_increment,name varchar(50));

insert into t6 values(null,"a");

insert into t6 values(null,"b");

insert into t6 values(10,"c");

insert into t6 values(null,"d");

delete from t6 where id>=10;

insert into t6 values(null,"e");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值