二、第二单元

1、数据表操作

1.1、创建数据表

1.1.1、语法

            create table [if not exists] 表名(

                字段名 类型[属性] [comment '说明']

            )[引擎设置][字符集设置] [comment '说明'];

1.1.2、说明

           1)、if not exists:可以缺省,缺省该语句创建表时,如果表存在将报错

            2)、多字段之间用“,”进行分割,最后一个字段末尾不需要使用“,”

            3)、comment:可以缺省,该子句可以为字段添加说明

            4)、引擎设置:engine=引擎(InnoDB、MyIsam、Memory)

            5)、字符集设置:charset=字符集(iso-8859-1、utf-8)

1.2.3、示例

           略

1.2、查看数据库下表信息

1.2.1、查看数据库下所有的表信息

        show tables;

1.2.2、查看表结构信息

        desc 表名;

1.3、修改表信息

1.3.1、修改表名

       1)、语法

       alter table 原表名  rename as 新表名;

       2)、作用

       将原表名更改为新表名;

1.3.2、添加字段

       1)、语法

              /*默认在字段列表的末尾增加字段*/

              alter table 表名 add 字段名 字段类型;

              /*在字段列表的第一个位置添加字段*/

              alter table 表名 add 字段名 字段类型 first

             /*在指定字段的后面添加新字段*/

             alter table  表名 add 字段名 字段类型 after 旧字段名;

1.3.3、修改字段

       1)、修改字段类型

             alter table 表名 modify 字段名 字段类型[属性]

        2)、修改字段名

             alter table 表名 change 原字段名 新字段名 类型[属性]

1.3.4、删除字段

        1)、语法

              alter table 表名 drop 字段名;

         2)、作用

              删除表中指定的字段

1.3、删除表

         1)、语法

              drop table 表名;

         2)、作用

              删除指定名称的表;

2、DML操作数据

2.1、insert插入数据

2.1.1、语法

      insert [into] 表名[(字段名列表)] values(值列表);

2.1.2、示例

      略

2.1.3、注意事项

     1)、字段名是可选的,如省略则依次插入所有字段

     2)、插入的数据项,要求符合外键约束

     3)、值列表和字段名列表一一对应

     4)、具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值

     5)、插入的数据项,要求符合主键约束

2.2、插入多行数据

2.2.1、语法

     insert [into] 表名(字段名列表) values(值列表1),(值列表2),……,(值列表n);

2.2.2、建议

    为避免表结构发生变化引发的错误,建议插入数据时写明具体字段名

2.3、查询结果插入到现有表

2.3.1、语法

    INSERT INTO 目标表(字段1,字段2……)

        SELECT字段1,字段2……   FROM 原表

2.3.2、作用

    通过INSERT SELECT语句将现有表中的数据添加到已存在的

2.3.3、注意事项

    插入过程中目标表必须已经存在。

2.4、创建表并插入数据

2.4.1、语法

      CREATE TABLE 目标表(SELECT 字段1,字段2......  FROM原表)

2.4.2、作用

    查询并将查询结果插入到新创建的目标表中。

2.4.3、注意事项

    目标表必须不存在。

2.5、更新数据

2.5.1、语法

    UPDATE 表名 SET 字段1=值1,字段2=值2,…,字段n=值n  [WHERE 条件];

2.5.2、作用

    更新表中符合条件的数据;

2.5.3、示例

    略

2.5.4、注意事项

    1)、多个字段之间用“,”进行分割

     2)、如果省略where子句将更新所有数据

2.6 删除数据

2.6.1、语法

    delete [from] 表名 [where 条件]

2.6.2、作用

    删除符合条件的所有数据

2.6.3、示例

    略

2.6.4、注意事项

    1)、如果有主外键关联表,先删外键表数据,再删除主键表数据

    2)、如果省略了where条件将删除当前表中所有数据

2.7、truncate table

2.7.1、语法

    truncate table 表名

2.7.2、作用

    清空表中所有记录

2.7.3、示例

    略

2.7.4、注意事项

    表结构及其字段、约束、索引保持不变

2.7.5、delete和truncate table的区别

    1)、truncate table的标识列会被重置;delete不会重置

    2)、truncate table的执行速度相对较快;delete的执行速度相对较慢

    3)、truncate table没有where子句;delete有where子句

    4)、truncate table无法删除有外键约束的表;delete可以删除有外键约束的表

3、DQL查询语言

3.1、概述

     DQL是Data Query Language英文缩写,数据查询语言

3.2、基本查询语句

3.2.1、语法

    select */字段名列表 from 表名

3.2.2、说明

    》*:表时所有字段

     》字段名列表:查询结果集将只返回包含字段列表的所有数据

3.2.3、示例

    略

3.2.4、列别名

    1)、语法

    select 字段名1 [as] 别名1,字段名2 [as] 别名2,.... from 表名

    2)、作用

    为查询结果中将使用别名替换字段名进行显示。

3.3、带条件查询语句

3.3.1、语法

    select */字段名列表 from 表名 where 条件表达式

3.3.2、作用

    对数据按条件进行筛选。

3.3.3、示例

    略

3.4、多条件查询语句

3.4.1、运算符

    1)、算数运算符

     +、-、*、/、%

    2)、关系运算符

    =、>、>=、<、<=、<>(!=)

    3)、逻辑运算符

    and(&&)、or(||)、not(!)

3.4.2、概述

多条件查询是利用逻辑运算符把多个条件组合起来的条件查询

3.4.3、语法

SELECT * FROM 表名WHERE 条件1  逻辑运算符 条件2

3.5、模糊查询

3.5.1、in关键字

    1)、作用

    查询指定字段与枚举值相匹配的所有数据。

    2)、语法

   where 字段名 in (值列表)

    3)、说明

     各值之间使用“,”进行分割

3.5.2、区间查询

    1)、查询指定范围的数据值

     where 关系表达式1 逻辑运算符   关系表达式2

    where 字段名 between 起始值 and 终止值

    2)、注意

    使用between...and语句查询时,终止值一定要大于起始值,否则将导致无查询结果

3.5.3、通配符查询

    1)、定义

    模糊查询是使用SQL 通配符替代一个或多个字符的条件查询

    2)、概述

        》一类字符,代替一个或多个真正的字符

        》与LIKE关键字或RLIKE关键字一起使用

    3)、通配符

        》_:一个字符,如:name like ‘L_’

        》%:表示任意长度的任意字符,如:name like ‘L%’

        》[]:括号中所指定范围内的一个字符,如:tel like ‘13[1-6]452’

        》[^]:不在括号中所指定范围内的一个字符,如:tel like ‘13[^1-6]452’

    4)、语法

    where 字段名 like '条件'

3.6、查询排序

3.6.1、作用

    一组数据按照升序或降序排列。

3.6.2、语法

    select * from 数据表 [where 条件表达式] [order by 字段名 asc/desc]

3.6.3、说明

    》asc(默认值):数据按照升序排序

    》desc:数据按照降序进行排序

3.6.4、示例

     略

3.6.5、注意事项

    》当使用多个排序字段时,首先按照第一排序字段进行排序,当第一字段值相等则会按照第二字段进行排序

    》多个排序字段之间使用",”进行分割

3.7、limit查询

3.7.1、作用

    查询语句中使用limit子句限制结果集

3.7.2、语法

    select*  from 表名 [where  <查询条件>]

        [order by  <排序的列名>[asc/desc]]

        [limit [位置偏移量, ]行数];

3.7.3、示例

    略

3.7.4、应用

    使用limit实现分页查询。

3.8、查询null值

3.8.1、特点

    》区别空字符串’’,null表时什么都没有

    》只能出现在定义允许为NULL的字段

    》须使用 IS NULL 或 IS NOT NULL 比较操作符去比较

3.8.2、语法

    select * from 表名 where 字段名 is [not] null

3.8.3、示例

    略

3.9、distinct查询

3.9.1、作用

    去掉select查询返回的记录结果中重复的记录, 相同记录只返回一条

3.9.2、语法

    select distinct 字段名1, 字段名2...    from  表名

3.10、分组查询

3.10.1、应用环境

    需要对数据进行分组统计查询时使用,如:统计公司各部分员工信息,按年级统计学生信息

3.10.2、语法

    select * from 表名

        [where 条件表达式]

        [group by 分组字段]

        [having 条件表达式]

        [order by 字段]     [limit 偏移地址,行数]

3.10.3、示例

     略

3.10.4 注意事项

    》select语句后面只能跟分组字段、或聚合函数

    》having分组筛选无法使用select后面的聚合函数

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容