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. Android(java)学习笔记59:类继承的 注意事项

    1. 类继承的注意事项: /* 继承的注意事项: A:子类只能继承父类所有非私有的成员(成员方法和成员变量) B:子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法. ...

  2. Java 类加载体系之 ClassLoader 双亲委托机制

    Java 类加载体系之 ClassLoader 双亲委托机制 java 是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件 ...

  3. Ajax的学习笔记(一)

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),ajax并不是一门单独的语言,而是一种技术,是指一种创建交互式网页应用的网页开发技术. ...

  4. [P1363] 幻想迷宫

    题目链接 很好的一道搜索题,应该是利用了离散化的思想我好蒟蒻呀 地图是根据给定的图无限的拼接的. 所以说暴力建图是不可取的. 其实不难看出,在跨越两张图时.我们就可以看做这个点时空穿梭一般.从底下回来 ...

  5. C#定义常量的两种方法

    在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant).前者用“const”来定义,后者用“readonl ...

  6. js图片库 案例

    事件处理函数:事件处理函数的作用是,在特定事件发生时调用特定的JavaScript代码.本例中想要在用户点击某个链接的时候触发一个动作,所以需要使用onclick事件处理函数. 添加事件处理函数的语法 ...

  7. JAVA / MySql 编程——第八章 DAO 模式

    1.        数据持久化:将程序中的数据在瞬时状态和持久状态间转换的机制即为数据持久化: 2.        持久化的实现方式:数据库.普通文件.XML文件: 3.        JDBC封装: ...

  8. sql常用函数instr()和substr()

    Decode decode(条件,值1,翻译值1,值2,翻译值2,...,缺省值) 该函数与程序中的 If...else if...else 意义一样 NVL 格式:NVL( string1, rep ...

  9. SQLSERVER 数据库恢复挂起的解决办法

    如果你的数据库还处于挂起状态,请把我下面代码的test改为你的库名,然后执行完,刷新就正常了: USE masterGOALTER DATABASE test SET SINGLE_USERGOALT ...

  10. HTML+CSS : H5+CSS3

    HTML5语义化标签: header nav(导航) article section(章节) aside(侧边栏) footer------------------------------------ ...