1.表操作

创建  create table
删除  drop table
查看表结构  desc 表/show create table 表
修改
alter table 表名 rename 新表名
alter table 表名 add 新字段 类型(宽度) 约束  first、after 已有字段(位置)
alter table 表名 change 旧字段 新字段 类型(宽度) 约束 first、after 已有字段;#旧字段 旧字段 类型(宽度) 约束 first、after 已有字段;
alter table 表名 modify 已有字段 类型(宽度) 约束 first、after 已有字段;
alter table 表名 drop 字段名;

2.数据操作

增
insert into 表名 value 单条数据;
insert into 表名 values 单/多条数据;
insert into 表名(字段1,字段2) values 数据;  *****
insert into 表名(字段1,字段2) select (字段3,字段4) from 库.表名;
删  delete from 表名 where 条件
改
update 表名 set 字段=值 where 条件;
update 表名 set 字段1=值1,字段2=值2 where 条件;
查  单/多表查询

3.单表查询

select 想要的列 from 表
where 先从这张表中查询的行
group by 分组
having  对组过滤
order by 排序
limit 取一个区间
3.1 select
select user();   查询当前账户
select database();   查看当前库
select now();   查看当前时间
1.简单查询
select * from 表名;
select 字段名 from 表名;
select 字段名,字段名,字段名 from 表名;
2.distinct 去重
select distinct 字段 from 表名;
3.四则运算
select 字段*12 from 表名
4.concat
select concat(字段,'字符串',字段)as(可以不写) 该组合字段的名称 from 表名;
select concat_ws('分隔符','字符串',字段,字段)as 该组合字段的名称 from 表名;
# 分隔符会出现在每个字符串和字段的中间,类似join
5.case 语句
select(casewhen 条件1 then结果1when 条件2 then结果2else结果3end) as 该新生字段名称
from 表名;
3.2 where
select * from 表 where 条件
1.范围查询
>  <  >=  <=  =  !=或<>
between a and b
in(a,b,c,d)
2.模糊查询
like:
% 代表任意长度的任意字符'a%' 以a开头'%a' 以a结尾'%a%' 包含a
_ 代表一个任意字符'蔡__' 蔡XX
regexp:正则大多数方法可运用于mysql
3.is,is not
is null
is not null
4.逻辑运算:and,or,not
3.3 group by
根据某个重复率比较高的字段进行,该字段有多少种可能就分成多少组
分组后不能对具体对某一条数据进行操作,而是对该若干组进行操作
# 可去重
# group_concat:只用来做最终结果的显示,不能作为中间结果操作其他数据
3.5 聚合函数
基本上都是和分组一起使用,如果没有和分组一起用,默认一整张表为一组
count  计数  count(id)/count(*)   每组对应的数据数
max   最大值:这个组中某字段的最大值
min   最小值:这个组中某字段的最小值
avg   平均值
sum   求和select min(hire_date) from employee group by post;  #求每个部门入职最早的时间
3.6 过滤条件
就是对组进行筛选的条件
select post from employee group by post having count(id)>3;  # 人数大于3的部门
having的问题:select或group by的字段里必须包含having条件中的字段,所以不推荐使用
3.7 order by
order by 字段  默认升序
order by 字段 asc  升序
order by 字段 desc  降序order by 字段1,字段2
order by 字段1 asc,字段2 desc
order by 字段1 desc,字段2 asc
order by 字段1 desc,字段2 desc
3.8 limit
1.显示分页
limit m,n  或  limit n offset m  # 表示从m+1开始,取n条
2.取前n名
limit n  # m默认为0,通常与order by 一起用

4.python操作数据库

import pymysql
conn = pymysql.Connection(host='127.0.0.1', user='root', password="123",database='day40')
cur = conn.cursor()  # 游标 数据库操作符
cur.excute(sql,(值1,值2,值3,))# 查询sql = 'select 字段1,字段2 from 表 where 字段 = %s'# 条件里字段的值可以为%s,在cur.excute中以元组形式填值cur.excute(sql,(值,))cur.fetchone()/cur.fethmany(3)/cur.fetchall()  #获取结果# 插入/更新/删除sql = 'insert into 表(字段1,字段2,字段3) values(%s,%s,值)# 数据中的值可以为%s,在cur.excute中以元组形式填值cur.excute(sql,(值1,值2))conn.commit()
cur.close()
conn.close()

转载于:https://www.cnblogs.com/wxl1025/p/11283737.html

表操作,数据操作,单表查询,python操作数据库相关推荐

  1. Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...

    天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...

  2. 表间数据复制--SELECT表中的数据插入到新的表中(ORACLE,MSSQL)

    表间数据复制--SELECT表中的数据插入到新的表中 --在Oracle 9i中 CREATE TABLE scott.test AS (SELECT DISTINCT empno,ename,hir ...

  3. java实现将A表数据转移到B表_解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表(merge into)...

    作用:merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表: 语法: MERGE INTO [your table-name] [rename your table h ...

  4. 使用python对学生表的查询_多表组合查询——Python操作Mysql数据库

    前面我们介绍了单张表的查询,包括模糊查询.分组.排序.各种筛选条件等等操作,在实际应用中,查询的数据往往不止局限在一张表里,通常需要多张表在一起进行组合查询,今天我们将会对Mysql当中的多张有关联的 ...

  5. python操作mysql中的表_带你了解什么是Python操作MySQL数据库

    写这篇文章主要是为了介绍Python操作MySQL数据库,并结合相应的实例带你更加深入了解.文中的代码实例很详细,对大家有一定的参考学习价值. 1.什么是pymysql? PyMySQL是在Pytho ...

  6. jdbc-01入门操作-实现对单表的CRUD操作和单元测试

    0 后台数据库表 表如下图所示,模拟一个电商系统的用户表 所对应的表代码是 CREATE TABLE `easybuy_user` (`id` int(20) NOT NULL AUTO_INCREM ...

  7. hibernate课程 初探单表映射3-1 hibernate单表操作简介

    本章简介: 1 单一主键 2 基本类型 3 对象类型 4 组件属性 5 单表操作CRUD实例 转载于:https://www.cnblogs.com/1446358788-qq/p/8232078.h ...

  8. mysql 优化表 3000万_MySQL 单表三千万条数据,怎么优化 count 查询?

    CodeXx:innodb,20 来个字段,每天有几十万条数据插入,在不做分表的情况下,怎么优化查询?现在是 count 查询很慢,5s 左右,带上查询条件比如近一个月就更慢了 10 多 s Joyb ...

  9. Mysql查询数据(单表查询)

    一.查询所有字段 1,SELECT 字段1,字段2,字段3...FROM 表名: 2,SELECT * FROM 表名: 二.查询指定字段 1,SELECT 字段1,字段2,字段3...FROM 表名 ...

  10. mysql多表操作例题_MySQL 单表和多表的基本练习题

    2 单表 查找部门30中员工的详细信息. SELECT * FROM EMP WHERE DEPTNO = 30; 找出从事clerk工作的员工的编号.姓名.部门号. SELECT EMPNO,ENA ...

最新文章

  1. linux平台IO多路复用 select接口使用例子
  2. Spring学习(七)bean装配详解之 【通过注解装配 Bean】【自动装配的歧义解决】...
  3. linux cpu使用率1200%,linux下用top命令查看cpu利用率超过100%
  4. MySQL(7)索引
  5. MySQL基础篇(02):从五个维度出发,审视表结构设计
  6. map函数的用法python,详解Python map函数及Python map()函数的用法
  7. C++编程问题--注意指针参数的传递
  8. 基于Python的SVM算法深入研究
  9. Linux设备驱动模型-Kset
  10. vim user-manual的笔记 Chapter1
  11. JavaScript判断数组的几种方法
  12. 报名 | AI产品经理闭门会_第13期_北京_4场主题分享_本周六(2月19日)
  13. Fang Fang 思维题
  14. 现代信息检索——基本概念
  15. 阿里校招应届生面试经验
  16. python做值班表_如何用Python 实现自动排班
  17. pandas+plt操作练习(统计高等数学竞赛获奖)
  18. 如何用python输出九九乘法表_如何用python输出99乘法表
  19. FPGA-4人表决器
  20. c语言六位抢答器课程设计,基于c语言单片机8位竞赛抢答器设计课程设计.docx

热门文章

  1. linux a文本编辑大全,Linux sed 命令 - Linux文档编辑命令大全
  2. 360视域分析 cesium_Cesium-空间分析之通视分析(附源码下载)
  3. java qq音乐接口 api,QQ音乐解析API接口更新:支持HQ,ape,flac无损音质,缓存功能
  4. java gui拖拽_Java Swing拖放
  5. python2.0教程_django2.0入门教程第一节
  6. Java写 soapclient_Java for Web学习笔记(一一八):【篇外】Soap client
  7. 字节Java面试必问:mysql索引类型属于
  8. TCP的三次握手、四次挥手,含泪整理面经
  9. 【Linux入门到精通系列讲解】一些基础问题
  10. 【深度学习】Dropout与学习率衰减