Mysql数据库二:表的增删改查
----建表
CREATE TABLE emp(
						id int PRIMARY key auto_increment,
								name char(10) ,
												birthday DATE ,
														salary FLOAT (7,2)
)CHARACTER SET utf8;
----插入
INSERT emp (name,birthday,salary) VALUES ("egon","1991-1-1",20000),
                                         ("alex","1992-1-1",2000),
                                         ("peiqi","1998-3-1",30000);
INSERT emp SET name="yuan",salary="66666";
----修改
UPDATE emp set name = "egon1" WHERE id=1;
UPDATE emp set name="ALex",salary=55555 WHERE name="alex";
UPDATE emp set salary=salary+10000 where name = "egon1";
----删除
DELETE FROM emp WHERE name = "Alex";
DELETE FROM emp; ---清除表内容,但是auto_increment没有被重置就是说再插入数据id还是会自增
truncate table emp; ---id自增被删除,等价于完完全全清空表.
-------------------查找--------------------------
---准备表
CREATE TABLE exam(
id INT PRIMARY KEY  auto_increment,
																name VARCHAR (20),
																				JS DOUBLE ,
																						Django DOUBLE ,
																								分显示
SELECT name,JS+Django+OpenStack from exam;
SELECT name as 姓名,JS+Django+OpenStack as 总成绩 from exam;
SELECT name,JS+Django+OpenStack 总成绩 from exam;
---使用where子句过滤查询
																								-- where字句中可以使用:
-- 比较运算符:
																								> < >= <= <> !=
																									到20之间
																									或20或30
																												like 'yuan%'
																														/*
              pattern可以是%或者_,
              如果是%则表示任意多字符,此例如唐僧,唐国强
              如果是_则表示一个字符唐_,只有唐僧符合。两个_则表示两个字符:__
              */
-- 逻辑运算符
																													和100是闭区间
SELECT * from exam where js in (88,86);
SELECT * from exam where name like "yu%";
SELECT * from exam where js>90 and django > 90;
---order by 排序
																																			-- Asc 升序、Desc 降序,其中asc为默认值 ORDER BY 子句应位于SELECT语句的结尾。
SELECT * from exam ORDER BY js;
SELECT * FROM exam ORDER BY js desc; --降序
select name ,(ifnull(JS,0)+ifnull(Django,0)+ifnull(OpenStack,0))
																																																	总成绩
																																					from exam order by 总成绩 desc;
select name ,(ifnull(JS,0)+ifnull(Django,0)+ifnull(OpenStack,0))
																																																						总成绩
																																								from exam where name like 'a%'
																																															条记录
select * from exam limit 2,2;
---正则表达式
SELECT * from exam where name regexp "^a";
select * from exam WHERE name REGEXP "[a-z]{5}";
SELECT * from exam WHERE name regexp "n$";
SELECT * FROM exam WHERE name regexp "m{2}";
------------------group by分组查询---------------------
---准备表和数据
CREATE TABLE menu(
																																																		id INT PRIMARY KEY auto_increment,
																																																				product_name VARCHAR (20),
																																																								price FLOAT(6,2),
             born_date DATE,
             class VARCHAR (20)
              );
INSERT INTO menu (product_name,price,born_date,class) VALUES
																																																																													("苹果",20,20170612,"水果"),
                                             ("香蕉",80,20170602,"水果"),
                                             ("水壶",120,20170612,"电器"),
                                             ("被罩",70,20170612,"床上用品"),
                                             ("音响",420,20170612,"电器"),
                                             ("床单",55,20170612,"床上用品"),
                                             ("草莓",34,20170612,"水果");
SELECT * from menu GROUP BY 4; -- 按位置字段筛选,此时按照date筛选
select class ,SUM(price) from menu group by class;
SELECT class,sum(price) from menu GROUP BY class HAVING sum(price)>150;
																																																																													/*
    having 和 where两者都可以对查询结果进行进一步的过滤,差别有:
   <1>where语句只能用在分组之前的筛选,having可以用在分组之后的筛选;
   <2>使用where语句的地方都可以用having进行替换
   <3>having中可以用聚合函数,where中就不行。
 */
SELECT * from menu HAVING class = "水果";
SELECT class,count(id) from menu group by class;--先按class分组然后统计每组中的个数
result:
      +----------+--------------+
																																																									| class    | count(price) |
      +----------+--------------+
																																																													| 床上用品 |            2 |
      | 水果     |            3 |
      | 电器     |            2 |
      +----------+--------------+
Mysql数据库二:表的增删改查的更多相关文章
- MySQL数据库之表的增删改查
		目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ... 
- Mysql数据库和表的增删改查以及数据备份&恢复
		数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ... 
- MySQL数据库 | 数据表的增删改查
		MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ... 
- MySQL数据库2表的增删改查
		目录 一.数据表(文件): 1.1增 1.2查看表内数据 1.3改 1.4删除列表 1.5查看库内列表及表结构 1.6复制表结构 二.列类型:(*********) 2.1数字 2.2字符串 2.3时 ... 
- MySQL数据库与表的增删改查
		1.值库管理 1.1 查询所有值库 show databases; 1.2 创建一个值库 create database 值库名称 default character set 编码格式名称; 1.3 ... 
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
		一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ... 
- Python操作MySQL数据库完成简易的增删改查功能
		说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ... 
- 在python中连接mysql数据库,并进行增删改查
		数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ... 
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
		1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ... 
随机推荐
- .net 4.0的Lazy<T>方法,反射实现延迟加载。
			//自己山寨.public class YaLazy<T> { private bool _isValueCreated = false; public bool IsValueCreat ... 
- css布局---各种居中
			居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ... 
- 基于TCP的套接字
			tcp服务端 1 ss = socket() #创建服务器套接字 2 ss.bind() #把地址绑定到套接字 3 ss.listen() #监听链接 4 inf_loop: #服务器无限循环 5 c ... 
- DB2与oracle类型对比
			本文摘自http://www.cnblogs.com/cy163/archive/2010/11/17/1880280.html 做过DB2数据库应用迁移的工程师,了解IBM MTK工具在迁移过程中所 ... 
- 调用父类构造器:super
			import static java.lang.System.*; class Base{ public String name; public double weight; public Base( ... 
- pip安装python模块方法
			网上搜索了很多,主流的配置方法分为两种: 摘自 1.http://www.jb51.net/article/83617.htm 安装pip的包并确定pip安装时的镜像源地址,国内常用的地址有: htt ... 
- 大神真会玩~这组C4D动图,我都看了一整天!
			来自法国的Guillaume Kurkdjian 擅长创作一些平面动态图像 每张都诉说了一个小笑话或者小故事 像个极其微型的小电影. 这些动图的灵感可能来自某个交通工具 或是某个悠闲的时光 也可能是生 ... 
- 学习socket的小例子
			/************************************************************** 技术博客 http://www.cnblogs.com/itdef/ ... 
- 在EF中使用MySQL的方法及常见问题
			有时需要在网上租用空间或数据库,Mysql成本低一些,所以想将sql server转成mysql…… 注意:在安装Mysql时要选择文字集为utf8,否则将不能使用中文(当前也可以在创建数据库时使用u ... 
- 网段;IP;广播地址;子网掩码;
			网段(network segment)一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分.例如,从192.168.0.1到192.168.255.255这之间 ... 
