zoukankan      html  css  js  c++  java
  • mySQL笔记2


    php主要实现B/S

    .net IIS java TomCat

    LAMP: Linux 系统 A阿帕奇服务器 Mysql数据库 Php语言(KE)

    mysql:c常用代码

    create table ceshi1
    (
    uid varchar (50) primary key,
    pwd varchar (50),
    name varchar (50),
    nation varchar (50),
    foreign key (nation) references nation(code)
    )

    写查询语句需要注意:

    1,创建表的时候,最后一列后面不要写逗号

    2,如果有多条语句一起执行,注意在语句之间加分号分隔

    3,写代码时所有的符号都是半角的


    关系型数据库:表和表之间是有关系存在的

    创建表的几个关键字:

    1,主键: primary key

    2,非空:not null

    3,自增长列:auto_increment

    4,外键关系: foreign key (列名) references 表名(列名)


    CRUD操作

    1,添加数据
    insert into info values("","","",) 要求values括号里面的值得个数要和表里面的列数相同

    insert into info (code,name) values ("","") 添加指定列的值

    2,修改数据

    update info set name = "张三" where code="poo1"

    3,删除数据

    delete from info where code = "poo1"

    4,查询数据

    1.普通查询,查所有的

    select * from info #查所有数据

    select code,name from info #查指定列

    2.条件查询

    select * from info where code = "poo1" #一个条件

    select * from info where name = "张三" and nation = "n001"

    #两个条件并的关系

    select * from info where name = "张三" or nation = "n001"

    #两个条件或的关系

    3.排序查询

    select * from info order by birthday #默认升序排列 asc ;降序排列 desc

    select * from car order by brand asc, oil desc #多列排序

    4.聚合函数

    select count(*) from info #q取个数

    select sum(price) from car #查询price列的和

    select avg(price) from car #查询price列的平均值

    select max(price) from car #查询price列的最大值

    select min(price) from car #查询price列的最小值

    5.分页查询

    select * from car limit (n-1)*5,5 #跳过 (n-1)*5 条数据取 m 条数据

    6.分组查询

    select brand from car group by brand #简单的分组查询

    select brand from car group by brand having count(*)>2

    #查询系列里面车的数量大于2的系列


    7.去重查询

    select distinct brand from car

    8.修改列名

    select brand as "系列" from car

    9.模糊查询

    select * from car where name like "奥迪%" #%代表“奥迪”开头

    select * from car where name like "%奥迪%" #包含“奥迪”

    select * from car where name like "_奥迪%" #“奥迪”前只有一个

    10.离散查询

    select * from car where code in ("c001","c002","c003")

    select * from car where code not in ("c001","c002","c003")

    高级查询:

    1.连接查询

    select * from info,nation #得出的结果,称为笛卡尔积

    select * from info,nation where info.nation = nation.code

    join on 链接

    select * from info join nation #join 链接,笛卡尔积


    select * from info join nation on info.nation = nation.code

    2.联合查询

    select code,name from info
    union
    select code,name from nation #查询的列相同

    3.子查询

    1) 无关子查询
    select code from nation where name = "汉族"
    #去nation表中查汉族的民族代号

    select * from info where nation = ()
    #在info表中查询民族代号为上一个查询结果的所有信息

    select * from info where nation = (select code from nation where name = "汉族" )

    子查询 查询的结果被父查询使用,子查询可以单独执行的成为无关子查询

    2) 相关子查询

    select * from car where oil < (该系列的平均油耗)
    #查询油耗小于该系列平均油耗的

    select avg(oil) from car where brand = "值"
    #查询某系列的平均油耗

    select * from car a where oil < (select avg(oil) from car b where b.brand = a.brand)

  • 相关阅读:
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    [转载]jquery版结婚电子请帖
    [转载]jquery版小型婚礼(可动态添加祝福语)
    maven向本地仓库导入jar包(处理官网没有的jar包)
    Maven的POM.xml配置大全
    Linux使用手册-时区和时间设置
    Fedora中允许mysql远程访问的几种方式
    [Keygen]IntelliJ IDEA 14.1.7
  • 原文地址:https://www.cnblogs.com/wanlibingfeng/p/5446388.html
Copyright © 2011-2022 走看看