• MySQL学习笔记_5_SQL语言的设计与编写(上)


    SQL语言的设计与编写(上)



    一、SQL语句分类



    数据定义语言(DDL):

    用于定义和管理数据对象,包括数据库、数据表、视图、索引等。例如:CREATEDROPALTER等语句。



    数据操作语言(DML):【和表中的数据记录有关的语言】

    用于操作数据库对象中所包含的数据。例如:INSERTUPDATEDELETE语句。



    数据查询语言(DQL):

    用于查询数据库对象中所包含的数据,能够进行单表查询、连接查询、嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回到客户机中显示。例如:SELECT语句(占60%)。



    数据控制语言(DCL):

    是用来管理数据库的语言,包含管理权限及数据更改。例如:GRANTREVOKECOMMITROLLBACK等语句。



    二、SQL语句应用案例

    1DDL【可以按照以下格式写入一个文件,然后再粘贴到MySQL数据库中】

    createtable if not exists cats (

    idint not null auto_increment,

    pidint not null default '0',

    namevarchar(30) not null default '',

    desntext not null default '',

    primarykey(id),

    indexname(name,pid)

    );

    createtable if not exists products(

    idint not null auto_increment,

    cidint not null default 0,

    namevarchar(60) not null default '',

    pricedouble (7,2) not null default 0.00,

    numint not null default 0,

    desntext,

    ptimeint not null default 0,

    primarykey(id),

    keypname(name,price)

    );


    2DML

    ainsert,插入表数据

    insertinto 表名([字段列表])values(值列表),(值列表2),(值列表3),...,(值列表n);

    特点:

    1.如果在表名后没有给出字段列表,则值列表必须填充所有字段的值,必须按表中默认的顺序插入

    2.所有需要写字段名的地方都不加单引号或双引号,但是建议所有值都要以字符形式使用

    3.建议在插入数据时,最好给出字段列表,则值只要和字段列表一一对应即可,可以不按表中字段的顺序

    bupdate表名 set字段=''[,字段2='2',...,字段n='n'][条件]#条件指定需要更改的记录

    e.g. updatecats set pid='3' where id='1';

    updatecats set pid='99' where id >= '1' && id <= '3';


    cdeletefrom 表名 [条件]

    deletefrom cats; #清空数据表

    truncatecats; #也可以清空数据表,效率更高,truncate...截断


    dwhere条件

    无论更新、删除、查找,只要写对条件就能准确找到要管理的一条或多条数据

    【都可以使用各种运算符号,可以把字段当作一个变量来使用】


    3DQLselect

    SELECT[ALL | DISTINCT]

    {*|table.*|[table.]field1[asalias1][,[table.]field2[as alias2]][.....]}

    FROM 表名

    [WHERE...]

    [GROUPBY...]

    [HAVING...]

    [ORDERBY ...]

    [LIMITcount]

    使用SELECT查询语言,目的是可以按用户的想法将数据查出来,将结果返回!

  • 相关阅读:
    [哀悼雅安芦山地震]把网页由彩色变成灰度(谷歌、火狐、ie等浏览器兼容)
    hdu 3367 Pseudoforest(最大生成树)
    解决MDK4以上版本没法对STM32软件仿真
    [置顶] java高级工程师struts的内部运行机制详解
    hdu 2141 二分搜索
    windows调试器之Visual C++
    2013年4月19日佳都新太笔试题+解答
    一步步理解Linux进程(3)内核中进程的实现
    什么是你的核心竞争力之一?
    ubuntu创建桌面启动器
  • 原文地址:https://www.cnblogs.com/itrena/p/5927066.html
Copyright © 2020-2023  润新知