• 插入数据

    • --测试插入数据
      INSERT 表名 VALUES|VALUE(值...)--当没有指定插入顺序的时候按照表的原来的顺序进行插入
      INSERT 表名(需要赋值的字段名称) VALUES|VALUE(值...)--这里的值必须和前面需要赋值的字段对应
      INSERT 表名(需要赋值的字段名称,这里可以用可以不用) VALUES(值...),(值...),(值)...;--这个是一次插入多条记录
      INSERT 表名 SET 字段名称=值,字段名称=值.....(列出需要赋值的字段)
      INSERT 表名[字段名称] SELECT 字段名称 FROM 表名 [WHERE 条件] CREATE TABLE IF NOT EXISTS user8(
      id TINYINT UNSIGNED AUTO_INCREMENT KEY,
      username CHAR(20) NOT NULL UNIQUE,
      password VARCHAR(50) NOT NULL,
      email VARCHAR(50) NOT NULL DEFAULT '592681026@qq.com',
      age TINYINT UNSIGNED DEFAULT 18
      ); INSERT user8 VALUES(1,'KNIG','KING',DEFAULT,20);
      INSERT user8(username,password) VALUES('FUZHIQIANG','');
      --一次插入多条记录
      INSERT user8 VALUES(55,'dd','ddddd',DEFAULT,22),
      (3,'aaaaa','ssss',DEFAULT,23),
      (4,'dddff','gg',DEFAULT,24); --第五个插入方法
      CREATE TABLE IF NOT EXISTS user9(
      id TINYINT UNSIGNED KEY AUTO_INCREMENT,
      username CHAR(50) NOT NULL UNIQUE
      ); --将查询结果插入到表中(将user8的查询结果插入到user9中)
      INSERT user9 SELECT id,username FROM user8;--数据必须符合要求
  • 更新和删除数据
    • --测试更新和删除操作
      UPDATE 表名 SET 字段名称=值,... [WHERE 条件][ORDER BY 字段名称][LIMIT 限制条数]
      DELETE FROM 表名 [WHERE 条件][ORDER BY 字段名称][LIMIT 限制条数]--这个删除数据是不会让AUTO_INCREMENT的值改变
      TRUNCATE [TABLE] 表名--车顶清空数据表--这个可以删除AUTO_INCREMENT --将用户表中的所有用户的年龄更新为15
      UPDATE user8 SET age=5;--如果不加入WHERE条件加入的话,所有数据都会被更新 --将第一个记录的password email age更新
      UPDATE user8 SET password='',email='sss@qq.com',age=5
      WHERE id=1; --值用表达式表示
      UPDATE user8 SET age=age-5 WHERE id>=3; --删除表中的记录
      DELETE FROM user9; --删除表中id=1的用户。
      DELETE FROM user8 WHERE id=1;
  • 查询表达式  
    •   查询表达式

      •   *表示所有的列,tbl_name.*可以表示命名表的所有列,查询表达式可以使用[AS]alias_name 为其赋予别名

        --查询语句
        SELECT * FROM cms_admin;--单表操作
        SELECT cms_admin.* FROM cms_admin;--多表操作 --查询管理员的编号和名称
        SELECT id,username FROM cms_admin;--查询某些字段值
        SELECT username,id,role FROM cms_admin;--显示顺序是你写的这个查询顺序 --表来自于哪个数据库下 利用db_name.tbl_name(哪个数据库的哪个表)库名.
        SELECT id,username,role FROM cms.cms_admin; --字段来自于哪张表 表名.字段名
        SELECT cms_admin.id,cms_admin.username FROM cms.cms_admin; --给字段名和表名取一个别名,方便书写
        SELECT id,username FROM cms_admin AS a;--表的别名为a,AS可以省略
        SELECT a.id,a.username FROM cms_admin a; --字段别名
        SELECT id AS '编号',username AS '用户名' FROM cms_admin a;--这里字段的名字就改变了,显示的在表中的字段名称就是这个别名(暂时是这个显示)
        SELECT a.id AS i,a.username AS u FROM cms_admin AS a;
    •   待条件查询(WHERE,比较运算符)
      • --where条件  比较运算符
        --查询编号大于等于1的用户
        SELECT id,username,email FROM cms_user WHERE id>=1;--符号操作,小于,大于,不等于 SELECT * FROM cms_user WHERE age<=>NULL;--这个符号和=差不多 ,它多了一个用途就是用来检测是否为NULL --IS NULL或者 IS NOT NULL
        SELECT *FROM cms_user WHERE age IS NULL;--检测是否为NULL

        --范围条件BETWEEN AND
        --查询编号不在3-10之间的用户
        SELECT *FROM cms_user WHERE id NOT BETWEEN 3 AND 10;--指定范围
        --查询编好为1,3,4,5,6,7,8 IN(字段值的一个集合),NOT IN 相反
        SELECT *FROM cms_user WHERE id IN(1,3,4,5,6,7,8);--指定一个集合的查询,不区分大小写

         
    •   模糊查询
      • --模糊查询  LIKE  NOT LIKE
        --%;代表0个或1个或者多个任意字符
        --_:代表一个任意字符
        --查询姓张的用户
        SELECT * FROM cms_user WHERE username LIKE '张%'; --查询用户名中包含in的用户
        SELECT * FROM cms_user WHERE username LIKE '%ni%'; --查询所有的
        SELECT * FROM cms_user WHERE username LIKE '%'; --查询用户名为3位的记录
        SELECT * FROM cms_user WHERE username LIKE '___'; --查询第一位不知道,之后是i,后面的是什么不知道,
        SELECT * FROM cms_user WHERE username LIKE '_i%'; SELECT * FROM cms_user WHERE username LIKE 'king';--这里相当于等号
    •   逻辑运算符(AND,OR)
      • --查询用户名为king,密码为king
        SELECT * FROM cms_user WHERE username='king' AND password='king'; --查询编号大于等于3的变量年龄不为NULL的又用户
        SELECT * FROM cms_user WHERE id>=3 AND age <=>NULL;
    •   分组查询
      • --分组查询   GROUP BY
        --按照用户省份来分组
        SELECT *FROM cms_user GROUP BY proId;--显示这个组中的第一个记录 --想用户表中添加字节字段
        ALTER TABLE cms_user ADD sex ENUM('男','女','保密');
        修改一下数据
        UPDATE cms_user SET sex='男' WHERE id IN(1,3,5,7,9);
        UPDATE cms_user SET sex='女' WHERE id IN(2,4,6,8,10);
        UPDATE cms_user SET sex='女' WHERE id IN(12,11); --按照性别字段来分组
        SELECT * FROM cms_user GROUP BY sex;--分组的是打印出来的是改组的第一个字段 --按照多个字段分组 性别,年龄,
        SELECT * FROM cms_user GROUP BY sex,proId;--先按照性别分组,再按照省份 --WHERE 条件 对c查询结果进行分组
        SELECT * FROM cms_user WHERE id>=5 GROUP BY sex;
      •   聚合函数查询
        • --分组查询配合聚合函数
          --查询编号性别用户名详情,按照性别分组 GROUP-CONCAT(字段):得到某个分组的详情
          SELECT id,sex,GROUP_CONCAT(username ) FROM cms_user GROUP BY sex;--得到分组详情(GROUP_CONCAT(字段):得到某个字段的分组详情) --查询proid,性别详情,注册时间详情,用户名详情,按照proid排分组
          SELECT proId,GROUP_CONCAT(sex),GROUP_CONCAT(regTime),GROUP_CONCAT(username) FROM cms_user GROUP BY proId; --聚合函数 COUNT(),MAX(),MIN(),AVG(),SUM();
          --COUNT() 查询编号性别用户名详情以及组中总人数按照性别分组
          SELECT id,sex,GROUP_CONCAT(username) AS users ,COUNT(*) AS Totlenum FROM cms_user GROUP BY sex; --统计表中的所有记录
          SELECT COUNT(*) FROM cms_user ;--统计这个表中有多少条记录(有多少个id)
          SELECT COUNT(id) FROM cms_user ; --COUNT(字段) 这种形式不会统计NULL的值。 COUNT(*) 统计所有,如果分组的话,就是统计分组中的总的 --查询编号性别用户命详情组中最大年龄,最小年龄,平均年龄,年龄总和。
          SELECT id,sex,GROUP_CONCAT(username) AS users,COUNT(*) AS Totalsum, MAX(id),MIN(id),AVG(id),SUM(id) FROM cms_user GROUP BY sex; --WITH ROLLUP 统计记录值的总和
      •   having语句对分组结果进行二次筛选(只能配合分组GROUP BY使用)
        • --查询性别sex ,用户命详情,组中总人数,最大年龄,年龄总和按照性别分组
          SELECT sex,GROUP_CONCAT(username) AS users,
          COUNT(*) AS Totalsum,
          MAX(id),
          SUM(id)
          FROM cms_user
          GROUP BY sex
          HAVING COUNT(*)>2;--二次筛选,组中人数大于二的 --查询组中人数大于2,并且组中最大id大于10
          SELECT sex,GROUP_CONCAT(username) AS users,
          COUNT(*) AS Totalsum,
          MAX(id),
          SUM(id)
          FROM cms_user
          WHERE id>=2
          GROUP BY sex
          HAVING COUNT(*)>2 AND MAX(id)>10;
      •   ORDER BY 对查询结果进行排序
        •   默认的是升序
      •   通过LIMIT 限制查询结果显示条数
        •   LIMIT 显示条数
        •   LIMIT 偏移量 显示条数
          --查询表中前三条记录
          SELECT * FROM cms_user LIMIT 3; SELECT * FROM cms_user ORDER BY id DESC LIMIT 5;
          --查询表中的第一条记录
          SELECT * FROM cms_user LIMIT 1;
          SELECT * FROM cms_user LIMIT 0,1;--第一个参数是偏移量,第二个参数是显示的总个数
    •   查询语句总的规范
      •   

        SELECT id,sex,age,GROUP_CONCAT(username),--详情函数 GROUP_CONCAT()
        COUNT(*) AS Totalnumber,
        MAX(id),
        MIN(id),
        AVG(id),
        SUM(id)
        FROM cms_user
        GROUP BY sex--分组
        HAVING COUTN(*)>=2--二次分组,总人数大于二,搭配GROUP BY 使用
        ORDER BY id DESC--按照id降序排序
        LIMIT 0,2;

mysql--表数据的操作的更多相关文章

  1. 利用Flume将MySQL表数据准实时抽取到HDFS

    转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...

  2. 如何实现MySQL表数据随机读取?从mysql表中读取随机数据

    文章转自 http://blog.efbase.org/2006/10/16/244/如何实现MySQL表数据随机读取?从mysql表中读取随机数据?以前在群里讨论过这个问题,比较的有意思.mysql ...

  3. MySQL 表数据多久刷一次盘?

    前言 事情是这样的,在某乎的邀请回答中看到了这个问题: - 然后当时我没多想就啪一下写下来这样的答案: 这个其实要通过 MySQL 后台线程来刷的,在 Buffer Pool 中被修改的过的 Page ...

  4. Python将MySQL表数据写入excel

    背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...

  5. MySQL 表数据的导入导出

    数据导出 1.  使用 SELECT ...INTO OUTFILE ...命令来导出数据,具体语法如下. mysql> SELECT * FROM tablename INTO OUTFILE ...

  6. Django模型层(各种表及表数据的操作)

    目录 一.Django模型层 0. django模型层的级联关系 1. 配置django测试脚本 (1)方式一 (2)方式二 2. orm表数据的两种增删改 (1)方式一: (2)方式二: 3. pk ...

  7. SQL Server 的表数据简单操作(表数据查询)

    --表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例: use 商品管理数据库 go ...

  8. SQL Server 的表数据简单操作

    --表数据操作----添加表数据----向现有表添加数据--[use 要操作数据表的数据库名称go]insert [into] 数据表 [(字段名1,字段名2,字段名3, ...)] values(值 ...

  9. linux下用命令导出mysql表数据

    由于数据库服务器是内网环境,只能通过linux跳板机连接,所以navicat工具暂时用不上. 1.用Xshell工具连接跳板机 2.再通过跳板机连接数据库服务器 >ssh -p port ip ...

  10. Selenium应用代码(读取mysql表数据登录)

    1. 封装链接数据库的类: import java.sql.ResultSet; import java.sql.Connection; import java.sql.DriverManager; ...

随机推荐

  1. 《Javascript高级程序设计》阅读记录(六):第六章 下

    这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 <Javascript ...

  2. 学习动态性能表(12)--v$db_object_cache

    学习动态性能表 第12篇--V$DB_OBJECT_CACHE  2007.6.4 本视图提供对象在library cache(shared pool)中对象统计,提供比v$librarycache更 ...

  3. k近邻算法C++二维情况下的实现

    k近邻算法C++二维实现 这是一个k近邻算法的二维实现(即K=2的情况). #include <cstdio> #include <cstring> #include < ...

  4. Erlang tool -- lager overload protection

    log 这个事, 说大不大说小又不小. 大点的, 可以用scribe flume 这样的系统去做, 小点的, 也就打印一个调试信息而已. 在Erlang 中, log 这事情确实比较伤, error_ ...

  5. 单端IO标准

    单端标准 常用的单端IO标准是LVTTL和LVCMOS. 目前业界绝大部分FPGA/CPLD器件的LVCOMS的IO是由CMOS推挽(push-pull)驱动器构成的,这种结构是上面的PMOS管和下面 ...

  6. 几种排序方式的java实现(01:插入排序,冒泡排序,选择排序,快速排序)

    以下为集中排序的java代码实现(部分是在引用别人代码): 插入排序(InsertSort): //代码原理 public static void iSort(int[] a){ for(int i ...

  7. 机器学习:调整kNN的超参数

    一.评测标准 模型的测评标准:分类的准确度(accuracy): 预测准确度 = 预测成功的样本个数/预测数据集样本总数: 二.超参数 超参数:运行机器学习算法前需要指定的参数: kNN算法中的超参数 ...

  8. java流类、、、理解不够,流太多不知怎么用好?

    总结:输入流.输出流..子类多.需要加强: package com.da; import java.io.*; public class rtr { public static void main(S ...

  9. 转:MongoDB · 引擎特性 · journal 与 oplog,究竟谁先写入?

    转:MongoDB · 引擎特性 · journal 与 oplog,究竟谁先写入? 数据库内核月报 链接:http://mysql.taobao.org/monthly/2018/05/07/ Mo ...

  10. 2016全国大学生信息安全竞赛(Misc)

    你好,i春秋: 关注i春秋公众微信号,然后发送CTF,机器人会问星期几,按实回答,然后发送你好,机器人会回复你好,然后随便发几句,机器人会问是否愿意陪他聊天,回复不愿意,机器人就会发flag kill ...