zoukankan      html  css  js  c++  java
  • SQL第二天

    DDL

    对表的增删改

    创建表

    Create table 表名(字段 数据类型,。。。)engin=..,charset=utf8

    修改表

    改表名:

    Alter table 表名 rename 新表名

    添加属性

    Alter table 表名 add 字段 数据类型

    删除列

    Alter table 表名 drop 列名

    删除表

    Drop table 表名

    MDL

    增删改查

    增:

    Insert into 表名 (字段,。。。) values(值)

    删:

    Delete from 表名 where 条件

    Update 表名 set 字段=where 条件

    查:

    Select 表属性 from 表名 where 条件

    数据备份

    最好使用管理员权限

    cmd命令:mysqldump -uroot -p密码 表名>文件位置/表名.sql:备份

    添加:mysql -uroot -p密码 表名<文件位置/

    多表查询

    Select * from 表一,表二

    这样会出现一个问题笛卡儿积,造成数据的叠加,消除笛卡儿积的方式

    内链接

    显示内链接:

    Select * from 表名1,表名2 where 1.字段=2.字段

    隐式内链接:

    Select * from 1 inner join 表二 on 1.字段=2.字段

    外连接

    左外连接(以左表为基础,没有的数据就显示为null

    Select * from 1 left join 表二 on 1.字段=2.字段

    右外连接(以右表为基础,没有的数据就显示为null

    Select * from 1 right join 表二 on 1.字段=2.字段

    自连接

    Select * from 表名 表1 inner join 1 on 1.字段=2.字段

    子查询

    Select * from 表名 where 字段 >(Select 字段 from 表名)

    Select * from 表名 where (字段1,字段2>(Select 字段1,字段2 from 表名)

    函数

    Min,max,sum,avg

    Cost convert都是转化数据类型用法不同

    Cost(as 数据类型)convert(值,数据类型)

    Ifnull(参数1,参数2)如果不是参数1null则返回参数2

    CREATE TABLE xs(id int(2),name VARCHAR(2))ENGINE=INNODB CHARSET=utf8
    修改表名
    ALTER TABLE xs RENAME study
    添加字段
    ALTER TABLE study add sex VARCHAR(2)
    修改字段类型:
    ALTER TABLE study MODIFY sex int(2)
    删除字段
    ALTER TABLE study drop sex
    删除表
    DROP TABLE study
    新增
    insert INTO student (name,age) VALUES('小张',20)
    修改
    UPDATE student SET name='小路' WHERE id=4
    删除
    DELETE FROM student WHERE id=3
    查询
    SELECT * FROM student
    查询货品id,货品名称,货品所属分类名称
        查询零售价大于200的无线鼠标
    SELECT p.id,p.productname,pd.dirname FROM product p INNER JOIN productdir pd on p.dir_id = pd.id
        查询零售价大于200的无线鼠标(使用表的别名)
    SELECT p.*,pd.dirname FROM product p INNER JOIN productdir pd on p.dir_id=pd.id WHERE p.saleprice>200 AND pd.dirName='无线鼠标'
        查询每个货品对应的分类以及对应的库存
    SELECT p.*,pd.dirName,ps.store_num FROM product p INNER JOIN productdir pd ON p.dir_id=pd.id INNER JOIN product_stock ps ON p.id=ps.product_id
    如果库存货品都销售完成,按照利润从高到低查询货品名称,零售价,货品分类(三张表).
    SELECT
        p.*, pd.dirname ,(p.saleprice - p.costprice) lr
    FROM
        product p
    INNER JOIN productdir pd ON p.dir_id = pd.id
    INNER JOIN product_stock ps ON p.id = ps.product_id
    ORDER BY lr
    查询每种商品分类的名称和包含的商品库存总数
    SELECT
        p.*,
      ps.store_num
    FROM
        product p
    INNER JOIN product_stock ps ON p.id = ps.product_id
    查询零售价比罗技MX1100更高的所有商品信息
    SELECT * FROM product WHERE saleprice>(SELECT saleprice FROM product WHERE productname='罗技MX1100')
    查询分类编号和折扣与罗技M100相同的所有商品信息。
    SELECT * FROM product WHERE (dir_id,cutoff)=(SELECT dir_id,cutoff FROM product WHERE productname='罗技MX1100')
    SELECT IFNULL(null,'小明')
    View Code
  • 相关阅读:
    EntityFramework4.5使用Expression类创建动态查询及动态查询导航属性
    EF 5.0 帮助类
    EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生
    EF框架学习手记
    Entity Framework 学习
    C#特性-表达式树
    LINQ to SQL 运行时动态构建查询条件
    一点css 基础
    JQuery 判断复选框是否选中
    Asp.Net Server.MapPath()用法
  • 原文地址:https://www.cnblogs.com/xiaoruirui/p/11337703.html
Copyright © 2011-2022 走看看