ParisGabriel
 
 
         每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰
 
  开局一张图
 
 
 
 

查询SQL变量 show variables

1.表字段的操作
  1.语法alter table 表名 执行动作
  2.添加字段(add)
    alter table  表名 add 字段名 数据类型;(尾插)
    alter table 表名 add 字段名 数据类型 first;(头插)
    alter table 表名 add 字段名 数据类型 after 字段名;(指定插入)
  3.删除字段(drop)
    alter table 表名 drop 字段名;
  4.修改数据类型(modify)
    alter table 表名 modify 字段名 新数据类型;
  5.重命名(rename)
    alter table 表名 rename 表名;
2.字符类型
  1.字符类型宽度与数值类型宽度的区别
    1.数值类型宽度为显示宽度只用于select查询显示
    占用储存无关可用zerofill查看效果
    2.枚举类型
      1.单选(enum):字段名 enum(值1,值2...);
      2.多选(set):字段名 set(值1,值2...);
          (多项放在一个字符串内用,号隔开)
  3.日期时间类型
    1.date:“YYYY-MM-DD”
    2.time:“HH:MM:SS”
    3.datetime:“YYYY-MM-DD HH:MM:SS”
    4.timestamp:“YYYY-MM-DD HH:MM:SS”
    5.datetime:不给值默认返回Null
    6.timestamp:不给值默认返回系统时间

3. 日期时间函数
  1.now() 返回服务器当前的时间
  2.curdate() 返回当前时期
  3.curtime() 返回当前日期
  4.year(date) 返回指定时间的年份
  5.date(date) 返回指定时间的日期
  6.time(date) 返回指定时间的时间
4.日期时间运算
  1.语法格式
    select * from 表名
    where 字段名 运算符(时间 -interval 时间间隔单位);
    时间间隔单位:
    1 day | 2hour | 1 minute | 2year | month

5.表记录管理
  1.删除表记录
    1.delete from 表名 where 条件;
    注意:
    如果不加where条件,所有记录全部清空
  2.更改表记录
    1.update 表名 set 字段1=值1,字段名2=值2,... where 条件
    注意:
    如果不加where条件,所有记录全部更改
  3.运算符操作
    1.数值比较/字符比较
      1.数值比较: = != > >= < <=
      2.字符比较: = !=
    2.逻辑比较
      1.and
      2.or
    3.范围内比较
      1.where 字段名 between 值1 and 值2
      2.where 字段名 in(值1,值2,....)
      3.where 字段名 not in (值1,值2,...)

    4.匹配空、非空
      1.空:where name is null
      2.非空:where name is not null
                 3.注意
        1.NILL:空值,只能用is或is not取匹配
        2.“ ” : 空字符串用 = 或 != 去匹配
      4.模糊比较
        1.where 字段名 like 表达式
        2.表达式
          1._ : 匹配单个字符
          2.% :匹配0到多个字符
          NULL不会被统计
6.SQL查询:

  1语法顺序:

    3.select ... 聚合函数 from 表名
    1.where
    2.group by...
    4.having ...
    5.order by ...
    6.limit ...;

  2.order by
    1.给出查询结果进行排序
    2...order by 字段名 升序/降序
    升序ASC默认排序方式)
    降序DESC
  3.limit(永远放在SQL语句的最后)
    1.作用:显示查询记录的个数
    2.用法
      limit n     显示n条记录
      limit m,n
      m表示 从m+1条记录开始显示 显示n条记录
      limit 2,3 显示第3,4,5条记录
    3.分页
      每页显示5条记录,显示第4页内容
      第1页:limit 0,5 #1,2,3,4,5
      第2页:limit 5,5
      第3页:limit 10,5
      第4页:limit 15,5
      每页显示n条记录,显示第m页:
      limit(m-1)*n,n
  4.聚合函数
    avg(字段名):求该字段的平均值
    sum(字段名):求和
    max(字段名):最大值
    min(字段名):最小值
    count(字段名):统计该字段的个数

练习库:

create database MOSHOU;
use MOSHOU;
create table hero(
id int,
name char(15),
sex enum("男","女"),
country char(10)
)default charset=utf8;
insert into hero values
(1,"曹操","男","魏国"),
(2,"小乔","女","吴国"),
(3,"诸葛亮","男","蜀国"),
(4,"貂蝉","女","东汉"),
(5,"赵子龙","男","蜀国"),
(6,"魏延","男","蜀国"); use MOSHOU;
create table sanguo(
id int,
name char(20),
gongji int,
fangyu tinyint unsigned,
sex enum("男","女"),
country varchar(20)
)default charset=utf8;
insert into sanguo values
(1,'诸葛亮',120,20,'男','蜀国'),
(2,'司马懿',119,25,'男','魏国'),
(3,'关羽',188,60,'男','蜀国'),
(4,'赵云',200,66,'男','魏国'),
(5,'孙权',110,20,'男','吴国'),
(6,'貂蝉',666,10,'女','魏国'),
(7,null,1000,99,'男','蜀国'),
(8,'',1005,88,'女','蜀国');

练习

1、创建库 studb2

2、在库中创建表 t1 ,字段有3个:name、age、phnumber

3、查看表结构

4、在表中第一列添加一个 id 字段

5、把 phnumber 的数据类型改为 bigint

6、在表中最后一列添加一个字段 address

7、删除表中的 age 字段

8、查看表结构

答案:

      use studb2;
create table t1(
name char(20),
age tinyint unsigned,
phnumber char(11)
);
desc t1;
alter table t1 add id int first;
alter table t1 modify phnumber bigint;
alter table t1 add address varchar(50);
alter table t1 drop age;
desc t1;

练习

1、在表中插入3条记录

2、查找2018年7月2日有哪些用户充值了

3、查找2018年7月份充值的信息

4、查找7月30日10:00-12:00充值的信息

答案:

      insert into t7 values
(3,"小昭",19000520,3000,20180630000000),
(4,"赵敏",19000521,4000,20180702000000),
(5,"周芷若",19010522,3500,20180702100000);
select * from t7 where date(shijian)="2018-07-02";
select * from t7
where
date(shijian)>="2018-07-01" and date(shijian)<="2018-07-31";
select * from t7
where
date(shijian)="2018-07-31" and
time(shijian)>="10:00:00" and
time(shijian)<="12:00:00";

练习

1、查询1天以内的记录

2、查询1年以前的记录

3、查询1天以前,3天以内的记录

答案:

      select * from t7
where shijian > (now()-interval 1 day);
select * from t7
where shijian < (now()-interval 1 year);
select * from t7
where
shijian < (now()-interval 1 day) and
shijian > (now()-interval 3 day);

练习(表hero)

1、查找所有蜀国人的信息

2、查找所有女英雄的姓名、性别和国家

3、把id为2的记录改为典韦,性别男,国家魏国

4、删除所有蜀国英雄

5、把貂蝉的国籍改为魏国

6、删除所有表记录

答案:

      select * from hero where country="蜀国";
select name,sex,country from hero
where sex="女";
update hero set name="典韦",sex="男",country="魏国" where id=2;
delete from hero where country="蜀国";
update hero set country="魏国"
where name="貂蝉";
delete from hero;

练习

1、找出攻击值高于200的蜀国英雄的名字、攻击力

2、将吴国英雄中攻击值为110的英雄的攻击值改为100,防御力改为60

3、查找蜀国和魏国的英雄信息

答案:

        select name as n,gongji as g from sanguo
where gongji>200 and country="蜀国";
update sanguo set gongji=100,fangyu=60
where country="吴国" and gongji=110;
select * from sanguo
where country="蜀国" or country="魏国";

练习

1、查找攻击值100-200的蜀国英雄信息

2、找到蜀国和吴国以外的国家的女英雄信息

3、找到id为1、3或5的蜀国英雄 和 貂蝉的信息

答案:

        select * from sanguo
where gongji between 100 and 200 and
country="蜀国";
select * from sanguo
where country not in("蜀国","吴国")
and sex="女";
select * from sanguo
where
(id in(1,3,5) and country="蜀国") or name="貂蝉";

1、在蜀国英雄中,查找防御值倒数第二名至倒数第四名的英雄的记录

2、在蜀国英雄中,查找攻击值前3名且名字不为 NULL 的英雄的姓名、攻击值和国家

答案:

        select * from sanguo
where country="蜀国"
order by fangyu asc
limit 1,3;
select name,gongji,country from sanguo
where
country="蜀国" and name is not NULL
order by gongji DESC
limit 3;

1、攻击力最强值是多少

2、统计id 、name 两个字段分别有几条记录

## 空值 NULL 不会被统计,""会被统计

3、计算蜀国英雄的总攻击力

4、统计蜀国英雄中攻击值大于200的英雄的数量

答案:

        select max(gongji) from MOSHOU.sanguo;
select count(id),count(name) from sanguo;
select sum(gongji) from MOSHOU.sanguo
where country="蜀国";
select count(*) from MOSHOU.sanguo
where gongji>200 and country="蜀国";

查询变量  show variables1.表字段的操作   1.语法:alter table 表名 执行动作;   2.添加字段(add)      alter table 表名 add 字段名 数据类型;(尾插)      alter table 表名 add 字段名 数据类型 first;(头插)      alter table 表名 add 字段名 数据类型 after 字段名;(指定插入)   3.删除字段(drop)      alter table 表名 drop 字段名;   4.修改数据类型(modify)     alter table 表名 modify 字段名 新数据类型;   5.重命名(rename)     alter table 表名 rename 表名;   字符类型      1.字符类型宽度与数值类型宽度的区别        1.数值类型宽度为显示宽度,只用于select查询显示         占用储存无关,可用zerofill查看效果2.枚举类型  1.单选(enum):字段名 enum(值1,值2...);  2.多选(set):字段名 set(值1,值2...);    (多项放在一个字符串内用,号隔开)  3.日期时间类型   1.date:“YYYY-MM-DD”   2.time:“HH:MM:SS”   3.datetime:“YYYY-MM-DD HH:MM:SS”   4.timestamp:“YYYY-MM-DD HH:MM:SS”   5.datetime:不给值默认返回Null     timestamp:不给值默认返回系统时间
3. 日期时间函数   1.now()       返回服务器当前的时间   2.curdate()   返回当前时期   3.curtime()   返回当前日期   4.year(date)  返回指定时间的年份   5.date(date)  返回指定时间的日期   6.time(date)  返回指定时间的时间4.日期时间运算  1.语法格式    select * from 表名    where 字段名 运算符(时间-interval 时间间隔单位);    时间间隔单位:       1 day | 2hour | 1 minute | 2year | month
5.表记录管理  1.删除表记录    1.delete from 表名 where 条件;    注意:       如果不加where条件,所有记录全部清空  2.更改表记录      1.update 表名 set 字段1=值1,字段名2=值2,... where 条件    注意:       如果不加where条件,所有记录全部更改  3.运算符操作    1.数值比较/字符比较       1.数值比较: =  !=  >  >= < <=       2.字符比较: =  !=    2.逻辑比较      1.and      2.or    3.范围内比较      1.where 字段名between 值1 and 值2      2.where 字段名 in(值1,值2,....)      3.where 字段名 not in (值1,值2,...)
    4.匹配空、非空      1.空:where name is null      2.非空:where name is not null  4.注意     1.NILL:空值,只能用is或is not取匹配     2.“” : 空字符串,用 = 或  != 去匹配  5.模糊比较     1.where 字段名 like 表达式     2.表达式        1._ : 匹配单个字符        2.% :匹配0到多个字符        NULL不会被统计5.SQL查询:     3.select ... 聚合函数 from 表名     1.where     2.group by...     4.having ...     5.order by ...     6.limit ...;  2.order by     1.给出查询结果进行排序     2...order by 字段名 升序/降序        升序:ASC(默认排序方式)        降序:DESC  3.limit(永远放在SQL语句的最后)     1.作用:显示显示查询记录的个数     2.用法       limit n   显示n条记录       limit m,n          m表示 从m+1条记录开始显示 显示n条记录          limit 2,3   显示第3,4,5条记录  4.分页     每页显示5条记录,显示第4页内容     第1页:limit 0,5   #1,2,3,4,5     第2页:limit 5,5     第3页:limit 10,5     第4页:limit 15,5     每页显示n条记录,显示第m页:     limit(m-1)*n,n4.集合函数 1.分类  avg(字段名):求该字段的平均值  sum(字段名):求和  max(字段名):最大值  min(字段名):最小值  count(字段名):统计该字段的个数

Python全栈 MySQL 数据库 (表字段增、删、改、查、函数)的更多相关文章

  1. Python全栈 MySQL 数据库 (引擎、事物、pymysql模块、orm)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图     存储引擎(处理表的处理器)     基本操作:         ...

  2. python全栈开发day62-两表操作增删改查,外键,if else模板语法

    一.今日内容总结: day62 内容回顾: 1. django有关所有命令: pip install django==1.11.14 django-admin startproject 项目名称 cd ...

  3. Python全栈 MySQL 数据库(SQL命令大全、MySQL 、Python调用)

    为了梦想与了信仰    开局一张图   主要三个方面: 1.Linux终端命令 2.MySQL语句 3.Python调用   先删库 再跑路.....                         ...

  4. Python全栈 MySQL 数据库 (索引、数据导入、导出)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图     表字段重命名(change)   alter table 表名 ...

  5. Django(十)模型:django模型类对数据库的:增/删/改/查、自关联、管理器、元选项(指定表名)

    一.插入.更新和删除 调用一个模型类对象的save方法的时候就可以实现对模型类对应数据表的插入和更新. 调用一个模型类对象的delete方法的时候就可以实现对模型类对应数据表数据的删除. 二.自关联 ...

  6. Python全栈 MySQL 数据库 (简述 、安装、基本命令)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图     一个月的python已经结束了  下面就是数据库了   先说M ...

  7. Python全栈 MySQL 数据库 (SQL查询、备份、恢复、授权)

    ParisGabriel              每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰    开局一张图   今天接着昨天的说   索引有4种:      普通 索引 :ind ...

  8. django单表操作 增 删 改 查

    一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...

  9. 怎样从C#中打开数据库并进行 增 删 改 查 操作

    首先 在C#中引用数据库的操作! (因为我们用的是SQLserver数据库,所以是SqlClient) using System.Data.SqlClient; 1:要实现对数据库的操作,我们必须先登 ...

随机推荐

  1. jade文档声明和头尾标签

    作为一个页面,首先需要一个doctype的声明,它位于文档最上面的位置,放置html标签以前,用来告知浏览器当前这个页面用哪种html,或者xml的规范并解析页面   doctype html htm ...

  2. 创建 XXXXXXXX 的配置节处理程序时出错: 请求失败

    今天碰到这个错误,之前的程序在测试的时候都没有问题,同样的程序打包通过QQ传给其他人,在XP下测试也没有问题,我的Win7系统从QQ信箱下载压缩包,解压之后执行程序就会出问题,本来还是考虑自己程序是不 ...

  3. printf、sprintf与fprintf 的用法区分

    原文链接 1: fprintf()#include <stdio.h> int fprintf( FILE *stream, const char *format, ... );fprin ...

  4. Excle 常用函数

    1. 查找函数VLOOKUP 使用示例: =VLOOKUP(A1,$C$1:$D$19,2,0) 表示以A1单元格为基准,匹配C1开始到D19的范围数据,在公式行显示D单元格文本,也就是匹配范围的第二 ...

  5. java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数

    File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录 ...

  6. PNChart,简洁高效有动画效果的iOS图表库

    导入 pod导入相对简单,要手动导入这个库,先下载下来(https://github.com/kevinzhow/PNChart),解压后把PNChart文件夹拖入工程中 运行发现#import&qu ...

  7. Webpack4 学习笔记四 暴露全局变量、externals

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 暴露全局变量 通过 expose-loader 内联配置 在 webpack中配置 每个模块通过注入的方式 通过CD ...

  8. Python 统计不同url svn代码变更数

    #!/bin/bash/python # -*-coding:utf-8-*- #svn统计不同url代码行数变更脚本,过滤空行,不过滤注释. import subprocess,os,sys,tim ...

  9. 【杂题总汇】HDU-6406 Taotao Picks Apples

    [HDU 6406]Taotao Picks Apples 多校赛的时候多写了一行代码就WA了……找了正解对拍,在比赛结束后17分钟AC了

  10. css样式 body的font-size 为什么用625%

    浏览器的默认高度?一般为16px. 为什么用62.5%作为body的默认样式?16px62.5%=10px.* 那么为什么一般多是 16px  *625% = 100px; <响应式Web设计实 ...