zoukankan      html  css  js  c++  java
  • MySQL基础(二)

    一、数据表的修改

    总格式:ALTER  TABLE tbl_name +具体命令;

    1.1添加列的具体命令为:

    ADD [COLUMN] column_definition [FIRST | AFTER col_name ]

    比如:

    ALTER TABLE seckill ADD age INT AFTER NAME;//在seckill表中name列后加一列age

    ALTER TABLE seckill ADD age2 INT FIRST;//在seckill表中加一列age(加在第一列)

    ALTER TABLE seckill ADD age INT AFTER NAME,ADD age2 INT AFTER NAME;


    1.2删除列的具体命令为:

    DROP [COLUMN] col_name

    比如:

    ALTER TABLE seckill DROP age2 ;//删除age2列

    ALTER TABLE seckill DROP age2,DROP age; 删除两列


    1.3修改列的定义(数据类型或位置)

    MODIFY,CHANGE


    1.4添加约束具体命令为:

    添加/删除主键约束:

    ALTER TABLE success_killed DROP 
    PRIMARY KEY;


    ALTER TABLE success_killed ADD 
    PRIMARY KEY(seckill_id,state);

    添加/删除唯一约束:

    ALTER TABLE success_killed ADD 
    UNIQUE user_phone;

    添加/删除外键约束:

    ALTER TABLE success_killed ADD 
    FOREIGN KEY(user_phone) REFERENCES seckill(seckill_id);


    二、操作数据表记录

    1.增删查改insert,delete,selectk,update(略)

    2.where条件(略)

    3.group by 语句(把列相同的记录分组整合一起)

    我们拥有下面这个 "Orders" 表:

    O_Id OrderDate OrderPrice Customer
    1 2008/12/29 1000 Bush
    2 2008/11/23 1600 Carter
    3 2008/10/05 700 Bush
    4 2008/09/28 300 Bush
    5 2008/08/06 2000 Adams
    6 2008/07/21 100 Carter

    现在,我们希望查找每个客户的总金额(总订单)。

    我们想要使用 GROUP BY 语句对客户进行组合。

    我们使用下列 SQL 语句:

    SELECT Customer,SUM(OrderPrice) FROM Orders

    GROUP BY Customer

    结果集类似这样:

    Customer SUM(OrderPrice)
    Bush 2000
    Carter 1700
    Adams 2000


    4.having子句(分组条件)

    分组可以添加分组的条件语句,但是不能用where子句,得用having子句

    在上面3 group by的数据基础上,

    现在,我们希望查找订单总金额少于 2000 的客户。

    我们使用如下 SQL 语句:

    SELECT Customer,SUM(OrderPrice) FROM Orders

    GROUP BY Customer

    HAVING SUM(OrderPrice)<2000

    结果集类似:

    Customer SUM(OrderPrice)
    Carter 1700


    5.order by 将查询结果进行排序

    ORDER BY 语句默认按照升序ASC对记录进行排序

    以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

    SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC


    6.limit语句限制查询数量

    分两种形式:

    一个参数的:SELECT * FROM table LIMIT 5;     //检索前 5 个记录行

    两个参数的:SELECT * FROM table LIMIT 5,10; //检索记录行6-15 注意是第六行





  • 相关阅读:
    Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别
    Atitit 图像处理 halcon类库的使用  范例边缘检测 attilax总结
    互联网创业原则与创业模式attilax大总结
    Atitit SeedFilling种子填充算法attilax总结
    Atitit 软件体系的进化,是否需要一个处理中心
    Atitit 获取剪贴板内容
    Atitit 架构的原则attilax总结
    Atitit Atitit 零食erp数据管理世界著名零食系列数据.docx世界著名零食
    Atitit 个人信息数据文档知识分类
    Atitti python2.7安装 numpy attilax总结
  • 原文地址:https://www.cnblogs.com/chz-blogs/p/9380951.html
Copyright © 2011-2022 走看看