基础的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. 微信公众平台:反正公众号的一切操作都从这里入手!
  2. [html]请描述HTML元素的显示优先级
  3. 关于提BUG的一点思考以及工作中总结的规范
  4. CS224N刷题——Assignment1.4_情感分析
  5. 15拆分成3个不同的自然数_素数大概有多少个?15岁的高斯翻过素数表之后给出了答案...
  6. 618当天,90%的程序员在干什么?
  7. 为什么我的计算机不能更新系统,为什么我的电脑重新安装系统建设银行网银不能......
  8. python爬虫系列——拉勾网
  9. 在苹果Mac上如何恢复已删除的用户?
  10. Windows10主机插入耳机只有一边有声音
  11. wps透视表列总计移到顶部_在数据透视表顶部显示总计
  12. HTTPS中间人攻击实验
  13. [ ECUG 专题回顾]《再谈 CERL:详论 GO 与 ERLANG 的并发编程模型差异》-许式伟(七牛云存储 CEO)...
  14. html5语义化标签及优点
  15. 计算机桌面内存,电脑内存怎么清理
  16. 梭织服装生产工艺流程
  17. 做网络必须掌握的83句话
  18. SAP BI与PowerBI之使用小谈
  19. 《如何阅读一本书》-3如何主动地阅读
  20. Unity脚本 (1) --- 创建脚本以及挂载脚本的本质,脚本模板的修改

热门文章

  1. Django之ajax简介
  2. java中sum是什么_Java中的IntStream sum()方法
  3. 简易电子琴演奏器_北邮大二上数电实验报告
  4. Excel打开第二个文件很慢的解决方法
  5. 骨传导蓝牙耳机哪款好、最受欢迎的骨传导蓝牙耳机品牌推荐
  6. php走马灯如何插入图片,焦点图走马灯轮播插件(原创)
  7. 【新知识】使用getline()与get()来进行输入
  8. 淮阴工学院计算机操作系统,淮阴工学院 操作系统复习.docx
  9. css的sprites什么意思,CSS Sprites是什么意思
  10. mysql行锁+排他锁,mysql的表锁和行锁,排他锁和共享锁。