基础的SQL语句

1.1. 插入语句

数据的增加

insert into 表名(列名列表) values (列值列表)

insert into tb_head_line

(line_name,line_link,line_img,priority,enable_status,create_time,last_edit_time)

values('小米8','http://www.baidu.com','image/xiaomi8.jpg',5,1,now(),now());

insert into tb_head_line(line_name,line_link,line_img,priority,enable_status)

values('苹果6','http://www.baidu.com','image/xiaomi8.jpg',6,1);

1.2. 删除数据库中的数据

数据库中数据的删除(没有被从表中的数据引用)

delete from 表名 where 条件

##删除主键为17的数据

delete from tb_head_line where line_id =17;

##多条件删除 删除 名称是小米的 或者 连接是百度

delete from tb_head_line

where line_name like '%小米%' or line_link like '%baidu%'

##删除已被从表引用的数据(删除区域表中的数据)

delete from tb_area where area_id =2;

insert into tb_area (area_name,priority) values('学府路',3);

1.3. 修改表中的数据

update 表名 set 列名1=新列值,列名2=新列值 ,... where 条件

##更新 把名称等于4的连接地址修改为www.sina.com

##,并设置为不可用,并修改最后的修改时间,把名称修改为奥克斯空调

update tb_head_line set line_name='奥克斯空调',enable_status='0',

line_link="http:www.sina.com",last_edit_time=now()

where line_name = '4'

1.4. 查询的方法

1.4.1. 单表查询

select * from 表名 效率低

select 列名列表 from 表名 where 条件

##查询语句 查看 '奥克斯空调'的详细信息

select * from tb_head_line where line_name='奥克斯空调';

1.4.2. 多表查询

1.4.2.1. 条件子查询

Select 列名 from 表名 where 列名 = (select 列名 from 表名 where 条件)

##查看'暴漫奶茶店'下有那些产品类别

select * from tb_product_category where shop_id = (

select shop_id from tb_shop where shop_name='暴漫奶茶店')

1.4.2.2. 多个表的结果查询

同时查询多个表的数据

Select 表一.列1,表一.列2,...,表二.列1,表二.列2 from 表一,表二 where 表一和表二关系 +其它条件

##查询商品类型以及对应的店铺信息

select tpc.product_category_name ,tp.shop_name ,tp.shop_desc

from tb_product_category tpc, tb_shop tp where tpc.shop_id = tp.shop_id;

作业

/*

上机作业:

在tb_area 表中插入一条记录

在tb_product 表中插入一条记录

修改tb_product中的记录如下

修改编号是6号的产品,名称是农夫山泉矿泉水,默认价格5元

修改 彪哥大排档 店的地址为 :海淀区学府路科技大学北门

删除:由于’奶茶来了’店铺经营不善,需要关闭

查找 电话为:1211334565的店铺信息

电话为:1211334565的店铺主人信息

电话为:1211334565的店铺信息以及店铺经营的产品信息

创建JAVA程序,利用JDBC技术,读取数据库中 东苑路附近的商家的信息

*/

##Navicat for MySQL 中的查询编辑器

##在tb_area 表中插入一条记录

INSERT INTO tb_area(area_id, area_name, create_time, last_edit_time)

VALUES (5,'机电楼',NOW(),NOW());

##在tb_product 表中插入一条记录

INSERT INTO tb_product(product_id, product_name, product_desc, create_time, last_edit_time, shop_id)

VALUES (13,'易寒牌薯片','相当好吃',NOW(),NOW(), 28);

##修改tb_product中编号是6号的产品,名称是农夫山泉矿泉水,默认价格5元

UPDATE tb_product set product_name = '农夫山泉矿泉水', normal_price = '5' WHERE product_id = 6;

##修改tb_shop中 彪哥大排档 店的地址为 :海淀区学府路科技大学北门

UPDATE tb_shop set shop_addr = '海淀区学府路科技大学北门' WHERE shop_name = '彪哥大排档';

##删除:由于’奶茶来了’店铺经营不善,需要关闭

DELETE FROM tb_shop WHERE shop_name = '奶茶来了';

##查找 电话为:1211334565的店铺信息

SELECT * FROM tb_shop WHERE phone = '1211334565';

##查找 电话为:1211334565的店铺主人信息

SELECT * FROM tb_person_info WHERE user_id =

(SELECT owner_id FROM tb_shop WHERE phone = '1211334565');

##查找 电话为:1211334565的店铺信息以及店铺经营的产品信息

SELECT ts.shop_name, tp.product_name, tp.product_desc, tp.normal_price FROM tb_shop ts, tb_product tp WHERE ts.phone = '1211334565';

##查找 读取数据库中 东苑路附近的商家的信息

SELECT ts.shop_name, ts.shop_desc, ts.shop_addr, ts.phone FROM tb_shop ts WHERE ts.area_id =

(SELECT area_id FROM tb_area WHERE area_name = '东苑');

结果:

在Navicat中:东苑路附近的商家的信息

//eclipse-jee中的代码

package com.oracle.test;

import java.sql.*;

public class JdbcTest {

public static void main(String[] args) {

try {

//1 load

Class.forName("com.mysql.jdbc.Driver");

//2 acquire connection

String url = "jdbc:mysql://localhost:3306/o2o?useUnicode=true&characterEncoding=utf8";

String username = "root";

String password = "123456";

Connection conn = DriverManager.getConnection(url, username, password);

//3 acquire sql

String sqlStr = " SELECT ts.shop_name, ts.shop_desc, ts.shop_addr, ts.phone FROM tb_shop ts WHERE ts.area_id = (SELECT area_id FROM tb_area WHERE area_name = '东苑')";

PreparedStatement pstmt = conn.prepareStatement(sqlStr);

//4 execute

ResultSet rst = pstmt.executeQuery();

//5 manage

System.out.println("店名\t店描述\t店地址\t店电话");

while(rst.next()) {

String name = rst.getString("shop_name");

String desc = rst.getString("shop_desc");

String addr = rst.getString("shop_addr");

String phone = rst.getString("phone");

System.out.println(name + "\t" + desc + "\t" + addr + "\t" + phone);

}

// close

rst.close();

pstmt.close();

conn.close();

}catch(Exception ex) {

ex.printStackTrace();

}

}

}

结果:

利用JDBC技术,读取数据库中 东苑路附近的商家的信息

讲师的演示代码

package com.oracle.test;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.util.Scanner;

public class JdbcAddTest {

public static void main(String[] args) {

try{

//加载驱动

Class.forName("com.mysql.jdbc.Driver");

//获取连接 ?useUnicode=true&characterEncoding=utf8

String url="jdbc:mysql://localhost:3306/o2o";

String username = "root";

String password="123456";

Connection conn = DriverManager.getConnection(url,username,password);

//获取执行对象

String sqlStr="insert into tb_person_info(name,profile_img,email,gender,enable_status,user_type,create_time,last_edit_time)values(?,?,?,'1','1','1',now(),now())";

PreparedStatement pstmt = conn.prepareStatement(sqlStr);

Scanner scanner = new Scanner(System.in);

System.out.println("请输入姓名:");

String xm = scanner.next();

System.out.println("请输入头型:");

String tx = scanner.next();

System.out.println("请输入邮箱:");

String yx = scanner.next();

pstmt.setString(1, xm); //设置第一个问号的值

pstmt.setString(2, tx); //设置第二个问号的值

pstmt.setString(3, yx); //设置第三个问号的值

//执行

int num = pstmt.executeUpdate();

System.out.println("添加的结果:" + num);

//关闭

pstmt.close();

conn.close();

}catch(Exception ex){

ex.printStackTrace();

}

}

}

作者:dfface

linux进入mysql查询彪哥,MySQL数据库语法的初步了解相关推荐

  1. mysql 查询时间转换_数据库查询时日期的转换

    首先简单说明一下,laravel框架中查询并打印sql语句的办法,不管任何时候由于sql语句报错时,都可以先打印一下,分析一下是什么原因造成的错误 ①引入laravel框架DB类useIllumina ...

  2. java mysql 查询_java连接mysql数据库达成数据查询详细教程

    前言:本篇文章适用于所有前后端开发者 众所周知,只要是编程,那肯定是需要存储数据的,无论是c语言还是java,都离不开数据的读写,数据之间传输不止,这也就形成了现代互联网的一种相互存在关系! 而读写存 ...

  3. mysql查询这一周数据库_mysql如何查询当前时间是星期几?

    select date_format(curdate(),'%w') from dual; 更多参考: MySQL中DATE_FORMAT(date, format)函数可根据format字符串格式化 ...

  4. mysql 查询语句 in,Mysql IN语句查询

    语法: WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 1.in 后面是记录集,如: selec ...

  5. jmeter mysql查询结果提取_Jmeter-从数据库中获取数据并作为变量使用

    一.导入数据库驱动包: (1).在网上搜索下载数据库驱动包(MySQL的地址https://dev.mysql.com/downloads/file/?id=480090) (2).解压,获取到jar ...

  6. linux进行MySQL查询_linux下mysql Select查询命令

    linux下mysql Select查询命令 SELECT查询格式: SELECT 字段 FROM 表 WHERE 条件; 例如: SELECT * FROM 表名;           #查询表所有 ...

  7. linux mysql 查询慢_linux – MySQL非常简单的SELECT查询速度极慢

    我们有一个在虚拟机上运行的简单Web应用程序,它使用InnoDB引擎将其数据保存在 MySQL 5.5数据库中.一切都运作良好大约三年,但突然变得非常缓慢. 例如,我有一个非常简单的表保存地址: CR ...

  8. beego原生mysql查询_go——beego的数据库增删改查

    一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...

  9. mysql查询低效语句_MySQL数据库中查找执行从命慢的SQL语句

    MySQL数据库中查找执行从命慢的SQL语句 (2011-09-15 08:21:35) 标签: 杂谈 去历:赛迪网 做者:Alizze 启动Mysql时减参数--log-slow-queries去挤 ...

最新文章

  1. 人脸对齐端到端Super-FAN
  2. 循环查询sql带逗号(,)分隔的数据 以及一对多数据转化为逗号(,)分割数据...
  3. HDU 5214 Movie【贪心】
  4. SAP MM模块的预留详解
  5. 文件写入的6种方法,这种方法性能最好
  6. 灵魂一问-如何彻底防止APK反编译?成功定级腾讯T3-2
  7. java实现删除指定指定目录下面指定某种类型的文件
  8. 大名鼎鼎的电影胶片滤镜--DxO FilmPack 5 mac
  9. python迭代器与生成器_python的迭代器与生成器实例详解
  10. php正则表达式 什么,php正则表达式是什么?(代码实例)
  11. max日期最大值为0_【SQL】SQL面试50题思路解答与分类整理(下)CASE与日期函数...
  12. delphi 消息列表中文说明
  13. PowerShell: 如何使用powershell处理Excel
  14. visionman-visionpro培训大纲
  15. GPU、CPU、内存、文件流、磁盘的速度之比
  16. Word毕业论文排版 公式居中 编号右对齐 及交叉引用(使用MathType公式编辑器实现)
  17. 智慧灯杆解决方案之智慧景区建设
  18. R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格
  19. 手冢国光对战幸村精市,谁才是最强初中生?
  20. latex参考文献中修改指定作者的格式来突出显示

热门文章

  1. 《北上广深杭》都有哪些最值得加入的互联网大厂
  2. 纯天然的野菜居然会致癌?
  3. deepin、dde的历史起源与发展(附deepin所有版本的dde截图)
  4. 用一年时间读一本英文版书籍
  5. 软件自动化测试培训内容,软件自动化测试与持续集成实践培训方案
  6. 由浅入深理解latent diffusion/stable diffusion(1):写给初学者的图像生成入门课
  7. Vue ElementUI el-carousel 走马灯 指示灯样式修改
  8. git stash 压栈
  9. ubuntu解压rar文件、zip文件乱码
  10. 【手把手】教你安装最新IDEA绿色版开发工具(以2021.1.2版本为例)