zoukankan      html  css  js  c++  java
  • MySQL系列

    一、mysql中的创建和数据类型

    MySQL创建:

    1.创建数据库
    create database test2; 
    2.删除数据库
    drop database test2;

    3.创建表
    create table ceshi
    (
        ids int auto_increment primary key,
        uid varchar(20),
        name varchar(20),
        class varchar(20),
        foreign key (class)  references class(code) 
    );
    create table class
    (
        code varchar(20) primary key,
        name varchar(20) not null
    );

    **自增长 auto_increment
    **主键 primary key
    **外键 foreign key (列名)  references 主表名(列名) 
    **非空 not null

    4.删除表
    drop table ceshi;

    注意:
    1.类型包含长度的在类型后面加括号,括号里面写长度
    2.上一列写完加逗号
    3.最后一列不要写逗号
    4.在每一条SQL语句写完之后要加分号
    5.如果有外键关系,先创建主表

    mysql中的数据类型:

    MySQL有三大类数据类型, 分别为数字、日期时间、字符串, 这三大类中又更细致的划分了许多子类型:

    1、数字类型

    整数: tinyint、smallint、mediumint、int、bigint

    浮点数: float、double、real、decimal/

    2、日期和时间: date、time、datetime、timestamp、year

    3,、字符串类型

    字符串: char、varchar

     

    文本: tinytext、text、mediumtext、longtext

    二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob

    二、MySQL增删改查基本操作

    1.注释语法:--,#
    2.后缀是.sql的文件是数据库查询文件
    3.保存查询
    4.在数据库里面 列有个名字叫字段   行有个名字叫记录

    CRUD操作:
    create 创建(添加)
    read 读取
    update 修改
    delete 删除

    1、添加数据
    insert into Info values('p009','张三',1,'n001','2016-8-30 12:9:8') ; 
    给特定的列添加数据
    insert into Info (code,name) values('p010','李四');
    自增长列的处理
    insert into family values('','p001','数据','T001','数据',1);

    insert into 表名 values(值)

    2、删除数据
    删除所有数据
    delete from family
    删除特定的数据
    delete from Info where code='p001'

    delete from 表名 where 条件

    3、修改数据
    修改所有数据
    update Info set name='徐业鹏' 
    修改特定数据
    update Info set name='吕永乐' where code='p002' 
    修改多列
    update Info set name='吕永乐',sex=1 where code='p003' 

    update 表名 set 要修改的内容 where 条件  tno =

    4、读取数据
    (1)简单读取,查询所有列(*)  所有行(没有加条件)
    select * from Info
    (2)读取特定列
    select code,name from Info
    (3)条件查询
    select * from Info where code='p003'
    (4)多条件查询
    select * from Info where code='p003' or nation='n002' #或的关系
    select * from Info where sex=0 and nation='n002' #与的关系
    (5)关键字查询(模糊查询)
    查所有包含奥迪的汽车
    select * from car where name like '%奥迪%'; #百分号%代表任意多个字符 
    查以'皇冠'开头的所有汽车
    select * from car where name like '皇冠%';
    查询汽车名称中第二个字符是'马'的
    select * from car where name like '_马%'; #下划线_代表任意一个字符
    (6)排序查询
    select * from car order by powers  #默认升序排列
    select * from car order by powers  #升序asc 降序 desc
    先按brand升序排,再按照price降序排
    select * from car order by brand,price desc
    (7)范围查询
    select * from car where price9()>40 and price<60
    select * from car where price between 40 and 60

    三、MySQL中的多类型查询及高级查询操作

    离散查询
    select * from car where price=30 or price=40 or price=50 or price=60;
    select * from car where price in(30,40,50,60)取出数据
    select * from car where price not in(30,40,50,60)去掉数据

      聚合函数(统计查询)
    select count(*) from car
    select count(code) from car #取所有的数据条数
    select sum(price) from car #求价格总和
    select avg(price) from car #求价格的平均值
    select max(price) from car #求最大值
    select min(price) from car #求最小值

      分页查询
    select * from car limit 0,10  #分页查询,跳过几条数据(0)取几条(10)
    规定一个每页显示的条数:m
    当前页数:n]
    select * from car limit (n-1)*m,m

      去重查询
    select distinct brand from car

      分组查询
    查询汽车表中,每个系列下汽车的数量
    select brand,count(*) from car group by brand
    分组之后,只能查询该列或聚合函数

    取该系列价格平均值大于40的系列代号
    select brand from car group by brand having(加条件) avg(price)>40

    取该系列油耗最大值大于8的系列代号
    select brand from car group by brand having max(oil)>8

    高级查询

    (1)连接查询
    SELECT t1.`Name`,t2.Brand_Name FROM brand t2,car t1 -- 笛卡尔乘积
    WHERE t2.Brand = t1.Brand
    -- 多表连接查询
    SELECT t1.`Name`,t2.Brand_Name,t3.prod_name  

    FROM car t1 
    LEFT JOIN brand t2 
    ON t1.Brand = t2.Brand

    LEFT JOIN productor t3 ON t2.Prod = t3.Prod
    (2) 联合查询 字段数必须一样
    SELECT `Name`,Price FROM car
    UNION
    SELECT Brand_Name,Brand_Memo FROM brand
    (3)子查询
    SELECT * FROM car 
    WHERE car.brand in 
    (SELECT Brand FROM brand WHERE Prod = 'p001')

  • 相关阅读:
    C#字符串转换为数字的4种方法
    Linq to SQL Xml Based
    Code Snippets in Visual Studio 2010
    cygwin 压缩
    Cygwin安装Gitolite3
    ubuntu下如何用命令行运行deb安装包
    iconv bom
    __stdcall型dll转lib
    cygwin install lua modules
    luacom cygwin
  • 原文地址:https://www.cnblogs.com/molrang/p/7365899.html
Copyright © 2011-2022 走看看