1. INSERT用于向数据库的表中插入1条记录

insert into 表名 (字段1,字段2,...) values (数据1,数据2,数据3...)

示例

-- 如果表存在,就删除
drop table if exists classes;
show tables;
create table classes (id BIGINT not null auto_increment,
name varchar(10) not null,PRIMARY KEY(id)) default charset=utf8; select * from classes;
-- 插入全部记录时,省略字段
insert into classes VALUES(1,"一班");
-- 掺入指定的字段
insert into classes (name) VALUES ("二班");
-- 插入多条数据
insert into classes (name,id) values ("三班",3),("四班",4);
select * from classes;


### 1.1 Insert语句总结:
* 可以向指定表插入一条记录
* 语法:insert into 表名 (字段1,字段2,...) values (数据1,数据2,数据3...)

2 select用于查询表的记录

语法:select 列1,列2,列3,... from 表名 where ... ;

show tables;
create table students (
id BIGINT not null auto_increment,
class_id INT ,
name VARCHAR(10) not null,
gender char(1),
PRIMARY KEY(id)) default charset=utf8; INSERT into students (class_id,name,gender)VALUES
(1,"小明","M"),
(1,"小红","F"),
(1,"小军","M"),
(2,"小白","F"),
(2,"小兵","M"),
(3,"小王","M"),
(3,"小丽","F");
select * from students;
-- where条件
select * from student where id = 2;
select * from student where id > 3;
select * from student where class_id > 3;
select * from student where gender = 'M';
-- and
select * from student where id > 3;
-- 筛选特定的列
select id,name from students;
-- 聚合查询
-- 获取记录数量
select count(*) from students;
--
select count(*) from students group by class_id;
select class_id,count(*) number from students group by class_id;
-- 多表查询
-- 查询的结果是一个4*7=28条的记录,即2个表的乘积,没什么用
select * from classes,students;
-- 通常使用inner join来进行联合查询
select * from classes inner join students on classes.id = students.class_id;
-- 指定别名来更好的返回结果
select c.id,c.name class_name,s.name student_name,s.gender from classes c inner join students s on c.id = s.class_id;

2.1 select查询总结:

  • 可以指定查询的列
  • 可以通过where条件筛选符合条件的记录
  • 可以使用聚合查询
  • 可以多表联合查询
  • 查询结果仍然是一个关系表

3 update更新记录操作

update返回的结果是一个整数,代表更改了几条记录

-- 全部记录的class_id都会改为5
update students set class_id = 5 ;
-- 修改指定记录
update students set class_id = 5 where id = 3;
-- 修改指定记录的多个字段
update students set class_id = 5, gender = 'F' where id = 3;

3.1 update总结

  • 可以设置某些列的值
  • 可以通过where筛选符合条件的行
  • 执行结果为符合更新条件的行数

4 delete删除记录

delete返回一个整数,代表删除记录的数目

-- 删除表的全部记录
delete from students;
-- 删除某条记录
delete from students where id=3
-- 删除多条记录
delete from students where id > 3 and gender = 'M';

4.1 delete总结

  • 可以删除指定的行
  • 可以通过where条件筛选符合条件的行
  • 执行结果为删除的行数

廖雪峰Java15JDBC编程-2SQL入门-2insert/select/update/delete的更多相关文章

  1. 廖雪峰Java15JDBC编程-2SQL入门-1SQL介绍

    1.SQL:结构化查询语言 Structured Query Language 针对关系数据库设计 各种数据库基本一致 允许用户通过SQL查询数据而不关心数据库底层存储结构 1.1 SQL使用: 可以 ...

  2. 廖雪峰Java15JDBC编程-3JDBC接口-4JDBC事务

    1 数据库事务:Transaction 1.1 定义 若干SQL语句构成的一个操作序列 要么全部执行成功 要么全部执行不成功 1.2 数据库事务具有ACID特性: Atomicity:原子性 一个事务 ...

  3. 廖雪峰Java15JDBC编程-3JDBC接口-5JDBC连接池

    1. JDBC连接池 1.1 JDBC连接池简介 线程池可以复用一个线程,这样大量的小任务通过线程池的线程执行,就可以避免反复创建线程带来的开销. 同样JDBC可以复用一个JDBC连接 JDBC的连接 ...

  4. 廖雪峰Java15JDBC编程-3JDBC接口-3JDBC更新

    使用update语句的时候,需要通过JDBC实现update语句的执行,这个时候仍然通过PreparedStatement对象来使用,直接传入update语句,然后通过setObject传入占位符的值 ...

  5. 廖雪峰Java15JDBC编程-3JDBC接口-2JDBC查询

    我们可以使用JDBC查询来执行select语句. 1. Statement try(Connection conn = DriverManager.getConnection(JDBC_URL, JD ...

  6. 廖雪峰Java15JDBC编程-3JDBC接口-1JDBC简介

    JDBC:Java DataBase Connectivity Java程序访问数据库的标准接口 使用Java程序访问数据库的时候,Java代码并不是直接通过TCP连接去访问数据库,而是通过JDBC接 ...

  7. 廖雪峰Java15JDBC编程-1关系数据库基础-1关系数据库简介

    1.数据库 1.1 定义 数据库是按照数据结构来组合.存储和管理数据的软件. 1.2 数据库模型 数据库有层次模型.网状模型.关系模型三种模型. 2 关系数据库 关系数据库是建立在关系模型上的数据库, ...

  8. git入门笔记汇总——(廖雪峰博客git入门)

    本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...

  9. 廖雪峰Java6IO编程-2input和output-1inputStream

    1.InputStream 1.1InputStream是所有输入流的超类: int read() * 读取下一个字节,并返回字节(0-255) * 如果已读到末尾,返回-1 * read()方法是阻 ...

随机推荐

  1. go modules学习

    https://github.com/golang/go/wiki/Modules https://tonybai.com/2018/07/15/hello-go-module/ https://ww ...

  2. linux安装&卸载IB网卡(mellanox)驱动

    由于工作上的需求,需要在redhat6.5服务器上面安装mellanox品牌的IB网卡,故整理了一个安装&卸载IB网卡驱动的教程: 一.安装 1)下载相应操作系统驱动 http://www.m ...

  3. 了解Metasploit中的Payloads(有效载荷)

    什么是payload? payload又称为攻击载荷,主要是用来建立目标机与攻击机稳定连接的,可返回shell,也可以进行程序注入等.也有人把payloads称 为shellcode. Shellco ...

  4. 『BASH』——Learn BashScript from Daniel Robbins——[001-002]

    ABSTRACT: Daniel Robbins is best known as the creator of Gentoo Linux and author of many IBM develop ...

  5. Netty环境安装配置

    本章中介绍的Netty开发环境的安装及配置; 这个一系列教程示例的Netty最低要求只有两个:最新版本的Netty 4.x和JDK 1.6及更高版本. 最新版本的Netty在项目下载页面中可找到:ht ...

  6. ECMAScript1.4 对象 | 简单数据类型与复杂数据类型 | 内置对象 | 基本包装类型 | String

    对象 函数和对象的区别: 函数:封装代码 对象:封装属性和方法 创建对象的方法: 1,对象字面量{} // 模拟创建一只dog var dog = { // 属性 name: 'puppy', age ...

  7. 基于pandas数据预处理基础操作

    # -*- coding: utf-8 -*- import numpy as np import pandas as pd #一.创建数据 #1.通过传递一个list对象来创建一个Series,pa ...

  8. spring boot junit test

    这里分三种,1.测普通方法或通过原生java API接口调用 2.基于spring依赖注入调用 3.controller层调用 需要引入依赖:默认springboot已经引入 <dependen ...

  9. USACO2005 Cow Acrobats /// 前缀和 oj23402

    题目大意: N (1 ≤ N ≤ 50,000)头牛叠罗汉 找到最优排序使所有牛的风险值总和最小 每头牛重量 (1 ≤ Wi ≤ 10,000) 力量 (1 ≤ Si ≤ 1,000,000,000) ...

  10. HIVE文件

    注册表的本地实体文件, 察看位置,以及映射本地文件到注册表中的位置, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist 在这里写 ...