蓝懿ios技术交流和心得分享6.1.29

来源:互联网 发布:光环大数据和达内 编辑:程序博客网 时间:2024/05/17 09:08

    今天分享一下轻量数据库   因为昨天感冒头痛  所以没有更新博客

SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 <br> ##1 二、SQL数据库数据体系结构 <br> SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。名称对称如^00100009a^: <br> ##1 三、SQL语言的组成 <br> 在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成: <br> 1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。 <br> 2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。 <br> 3.一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。 <br> 4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。 <br> 5.用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。 <br> 6.SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。 <br> ##1 四、对数据库进行操作 <br> SQL包括了所有对数据库的操作,主要是由4个部分组成: <br> 1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。 <br> 2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。 <br> 3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。 <br> 4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。 <br> 下面我们将分别介绍: <br> ##2 (一)数据定义 <br> SQL数据定义功能包括定义数据库、基本表、索引和视图。 <br> 首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^) <br> 1.数据库的建立与删除 <br> (1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为: <br> CREATE DATABASE <数据库名> 〔其它参数〕 <br> 其中,<数据库名>在系统中必须是唯一的,不能重复,不然将导致数据存取失误。〔其它参数〕因具体数据库实现系统不同而异。 <br> 例:要建立项目管理数据库(xmmanage),其语句应为: <br> CREATE DATABASE xmmanage <br> (2) 数据库的删除:将数据库及其全部内容从系统中删除。 <br> 其语句格式为:DROP DATABASE <数据库名> <br> 例:删除项目管理数据库(xmmanage),其语句应为: <br> DROP DATABASE xmmanage <br> 2.基本表的定义及变更 <br> 本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改。 <br> ……<br>

一、增:有2种方法

1.使用insert插入单行数据:

         语法:insert [into] <表名> [列名] values <列值>

   例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15')

   注意:如果省略表名,将依次插入所有列

 

2.使用insert,select语句将现有表中的 数据添加到已有的新表中

        语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>

  例:insert into addressList ('姓名','地址','电子邮件')select name,address,email          

                from  Strdents 

      注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

 

二、删:有2中方法

1.使用delete删除数据某些数据

    语法:delete from <表名> [where <删除条件>]     

    例:delete from a where name='王伟华'(删除表a中列值为王伟华的行)  

        注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

 

2.使用truncate table 删除整个表的数据

        语法:truncate table <表名>

    例:truncate table addressList 

   注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

         用于有外建约束引用的表

 

三、改  使用update更新修改数据          

    语法:update <表名> set <列名=更新值> [where <更新条件>]

   例:update addressList set 年龄=18 where 姓名='王伟华'

   注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

 

四、查

1.普通查询

    语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列  

          名>[asc或desc]]

   1).查询所有数据行和列

    例:select * from a

    说明:查询a表中所有行和

   2).查询部分行列--条件查询

    例:select i,j,k   from  a   where f=5

    说明:查询表a中f=5的所有行,并显示i,j,k3列

   3).在查询中使用AS更改列名

    例:select name as 姓名 from a where  gender='男'

    说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

   4).查询空行

    例:select name from a where email is null

    说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null

                  来判断是否为空行

   5).在查询中使用常量

    例:select name '北京' as 地址 from a

    说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

   6).查询返回限制行数(关键字:top )

    例1:select top 6 name from a

    说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字

             用rownum替代)

                          select   *   from   a where   rownum<6   

   7).查询排序(关键字:order by , asc , desc)

    例:select name 

      from a 

      where grade>=60 

      order by desc

    说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

2.模糊查询

   1).使用like进行模糊查询

    注意:like运算副只用语字符串,

    例:select * from a where name like '赵%'

    说明:查询显示表a中,name字段第一个字为赵的记录

   2).使用between在某个范围内进行查询

    例:select * from a where age between 18 and 20

    说明:查询显示表a中年龄在18到20之间的记录

    3).使用in在列举值内进行查询(in后是多个的数据)

        例:select name from a where address in ('北京','上海','唐山')

    说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段

3.分组查询

   1).使用group by进行分组查询

    例:select studentID as 学员编号, AVG(score) as 平均成绩  (注释:这里的score是列名)

      from score (注释:这里的score是表名)

      group by studentID

           2).使用having子句进行分组筛选

    例:select studentID as 学员编号, AVG    

from score 

      group by studentID

      having count(score)>1

    说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组

       时使用,分组后只能使用having来限制条件,

4.多表联接查询

   1).内联接

    ①在where子句中指定联接条件

    例:select a.name,b.mark

      from a,b

      where a.name=b.name

    说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的

            mark字段

  • 学习ios  重要还是要理清楚思路  在做或者看老师代码的时候 自己多想想为什么  不要自己看着就抄       另外还是要推荐一下 蓝懿IOS这个培训机构  和刘国斌老师刘国斌老师还是很有名气的,听朋友说刘老师成立了蓝懿iOS,,老师讲课方式很独特,能够尽量让每个人都能弄明白,有的比较难懂的地方,如果有的地方还是不懂得话,老师会换个其它方法再讲解,这对于我们这些学习iOS的同学是非常好的,多种方式的讲解会理解得更全面,这个必须得给个赞,嘻嘻,还有就是这里的学习环境很好,很安静,可以很安心的学习,安静的环境是学习的基础,小班讲课,每个班20几个学生,学习氛围非常好,每天都学到9点多才离开教室,练习的时间很充裕,而且如果在练习的过程中有什么困难,随时可以向老师求助,不像其它机构,通过视频教学,有的甚至学完之后都看不到讲师本人,问点问题都不方便,这就是蓝懿与其它机构的区别,相信在刘国斌老师的细心指导下,每个蓝懿学员都能找到满意的工作,加油!

    •                                                                   写博客第一百一十一天;

                                                                                  QQ:565803433

    一、增:有2种方法

    1.使用insert插入单行数据:

      语法:insert [into] <表名> [列名] values <列值>

       例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15')

       注意:如果省略表名,将依次插入所有列

     

    2.使用insert,select语句将现有表中的 数据添加到已有的新表中

      语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>

      例:insert into addressList ('姓名','地址','电子邮件')select name,address,email 

      from Strdents 

      注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

     

    二、删:有2中方法

    1.使用delete删除数据某些数据

      语法:delete from <表名> [where <删除条件>]   

      例:delete from a where name='王伟华'(删除表a中列值为王伟华的行)  

      注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

     

    2.使用truncate table 删除整个表的数据

      语法:truncate table <表名>

      例:truncate table addressList

      注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

      用于有外建约束引用的表

     

    三、改  使用update更新修改数据 

      语法:update <表名> set <列名=更新值> [where <更新条件>]

       例:update addressList set 年龄=18 where 姓名='王伟华'

       注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

     

    四、查

    1.普通查询

      语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列 

      名>[asc或desc]]

       1).查询所有数据行和列

        例:select * from a

        说明:查询a表中所有行和

       2).查询部分行列--条件查询

        例:select i,j,k from a where f=5

        说明:查询表a中f=5的所有行,并显示i,j,k3列

       3).在查询中使用AS更改列名

        例:select name as 姓名 from a where gender='男'

        说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

       4).查询空行

        例:select name from a where email is null

        说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null

      来判断是否为空行

       5).在查询中使用常量

        例:select name '北京' as 地址 from a

        说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

       6).查询返回限制行数(关键字:top )

        例1:select top 6 name from a

        说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字

      用rownum替代)

      select * from a where rownum<6 

       7).查询排序(关键字:order by , asc , desc)

        例:select name

          from a

          where grade>=60

          order by desc

        说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

    2.模糊查询

       1).使用like进行模糊查询

        注意:like运算副只用语字符串,

        例:select * from a where name like '赵%'

        说明:查询显示表a中,name字段第一个字为赵的记录

       2).使用between在某个范围内进行查询

        例:select * from a where age between 18 and 20

        说明:查询显示表a中年龄在18到20之间的记录

       3).使用in在列举值内进行查询(in后是多个的数据)

      例:select name from a where address in ('北京','上海','唐山')

        说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段

    3.分组查询

       1).使用group by进行分组查询

        例:select studentID as 学员编号, AVG(score) as 平均成绩 (注释:这里的score是列名)

          from score (注释:这里的score是表名)

          group by studentID

      2).使用having子句进行分组筛选

        例:select studentID as 学员编号, AVG    

    from score

          group by studentID

          having count(score)>1

        说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组

      时使用,分组后只能使用having来限制条件,

    4.多表联接查询

       1).内联接

        ①在where子句中指定联接条件

        例:select a.name,b.mark

          from a,b

          where a.name=b.name

        说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的

      mark字段

    一、增:有2种方法

    1.使用insert插入单行数据:

      语法:insert [into] <表名> [列名] values <列值>

       例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15')

       注意:如果省略表名,将依次插入所有列

     

    2.使用insert,select语句将现有表中的 数据添加到已有的新表中

      语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>

      例:insert into addressList ('姓名','地址','电子邮件')select name,address,email 

      from Strdents 

      注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

     

    二、删:有2中方法

    1.使用delete删除数据某些数据

      语法:delete from <表名> [where <删除条件>]   

      例:delete from a where name='王伟华'(删除表a中列值为王伟华的行)  

      注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

     

    2.使用truncate table 删除整个表的数据

      语法:truncate table <表名>

      例:truncate table addressList

      注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

      用于有外建约束引用的表

     

    三、改  使用update更新修改数据 

      语法:update <表名> set <列名=更新值> [where <更新条件>]

       例:update addressList set 年龄=18 where 姓名='王伟华'

       注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

     

    四、查

    1.普通查询

      语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列 

      名>[asc或desc]]

       1).查询所有数据行和列

        例:select * from a

        说明:查询a表中所有行和

       2).查询部分行列--条件查询

        例:select i,j,k from a where f=5

        说明:查询表a中f=5的所有行,并显示i,j,k3列

       3).在查询中使用AS更改列名

        例:select name as 姓名 from a where gender='男'

        说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

       4).查询空行

        例:select name from a where email is null

        说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null

      来判断是否为空行

       5).在查询中使用常量

        例:select name '北京' as 地址 from a

        说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

       6).查询返回限制行数(关键字:top )

        例1:select top 6 name from a

        说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字

      用rownum替代)

      select * from a where rownum<6 

       7).查询排序(关键字:order by , asc , desc)

        例:select name

          from a

          where grade>=60

          order by desc

        说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

    2.模糊查询

       1).使用like进行模糊查询

        注意:like运算副只用语字符串,

        例:select * from a where name like '赵%'

        说明:查询显示表a中,name字段第一个字为赵的记录

       2).使用between在某个范围内进行查询

        例:select * from a where age between 18 and 20

        说明:查询显示表a中年龄在18到20之间的记录

       3).使用in在列举值内进行查询(in后是多个的数据)

      例:select name from a where address in ('北京','上海','唐山')

        说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段

    3.分组查询

       1).使用group by进行分组查询

        例:select studentID as 学员编号, AVG(score) as 平均成绩 (注释:这里的score是列名)

          from score (注释:这里的score是表名)

          group by studentID

      2).使用having子句进行分组筛选

        例:select studentID as 学员编号, AVG    

    from score

          group by studentID

          having count(score)>1

        说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组

      时使用,分组后只能使用having来限制条件,

    4.多表联接查询

       1).内联接

        ①在where子句中指定联接条件

        例:select a.name,b.mark

          from a,b

          where a.name=b.name

        说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的

      mark字段

    一、增:有2种方法

    1.使用insert插入单行数据:

      语法:insert [into] <表名> [列名] values <列值>

       例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15')

       注意:如果省略表名,将依次插入所有列

     

    2.使用insert,select语句将现有表中的 数据添加到已有的新表中

      语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>

      例:insert into addressList ('姓名','地址','电子邮件')select name,address,email 

      from Strdents 

      注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

     

    二、删:有2中方法

    1.使用delete删除数据某些数据

      语法:delete from <表名> [where <删除条件>]   

      例:delete from a where name='王伟华'(删除表a中列值为王伟华的行)  

      注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

     

    2.使用truncate table 删除整个表的数据

      语法:truncate table <表名>

      例:truncate table addressList

      注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

      用于有外建约束引用的表

     

    三、改  使用update更新修改数据 

      语法:update <表名> set <列名=更新值> [where <更新条件>]

       例:update addressList set 年龄=18 where 姓名='王伟华'

       注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

     

    四、查

    1.普通查询

      语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列 

      名>[asc或desc]]

       1).查询所有数据行和列

        例:select * from a

        说明:查询a表中所有行和

       2).查询部分行列--条件查询

        例:select i,j,k from a where f=5

        说明:查询表a中f=5的所有行,并显示i,j,k3列

       3).在查询中使用AS更改列名

        例:select name as 姓名 from a where gender='男'

        说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

       4).查询空行

        例:select name from a where email is null

        说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null

      来判断是否为空行

       5).在查询中使用常量

        例:select name '北京' as 地址 from a

        说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

       6).查询返回限制行数(关键字:top )

        例1:select top 6 name from a

        说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字

      用rownum替代)

      select * from a where rownum<6 

       7).查询排序(关键字:order by , asc , desc)

        例:select name

          from a

          where grade>=60

          order by desc

        说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

    2.模糊查询

       1).使用like进行模糊查询

        注意:like运算副只用语字符串,

        例:select * from a where name like '赵%'

        说明:查询显示表a中,name字段第一个字为赵的记录

       2).使用between在某个范围内进行查询

        例:select * from a where age between 18 and 20

        说明:查询显示表a中年龄在18到20之间的记录

       3).使用in在列举值内进行查询(in后是多个的数据)

      例:select name from a where address in ('北京','上海','唐山')

        说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段

    3.分组查询

       1).使用group by进行分组查询

        例:select studentID as 学员编号, AVG(score) as 平均成绩 (注释:这里的score是列名)

          from score (注释:这里的score是表名)

          group by studentID

      2).使用having子句进行分组筛选

        例:select studentID as 学员编号, AVG    

    from score

          group by studentID

          having count(score)>1

        说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组

      时使用,分组后只能使用having来限制条件,

    4.多表联接查询

       1).内联接

        ①在where子句中指定联接条件

        例:select a.name,b.mark

          from a,b

          where a.name=b.name

        说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的

      mark字段

  • 0 0
    原创粉丝点击
    热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 驾驶证3年没审怎么办c3 驾驶证几年没审怎么办 驾照体检过期了怎么办 b2驾照超过年检怎么办 驾驶证过审一年怎么办 驾照一年未年审怎么办 b驾照年审过期怎么办 摩托车驾驶证过期一年怎么办 驾驶证过期一年半怎么办 驾照过期了几天怎么办 驾照过期超过一年怎么办 考试驾照过期了怎么办 驾校考试过期了怎么办 驾驶证明过期了怎么办 驾驶证年过期了怎么办 驾照过期六个月怎么办 移动预约号码取消怎么办 身份证换地址驾驶证怎么办 刚来成都怎么办居住证 我在外地怎么办身份证 身份证丢在外地怎么办 换领新身份证时旧证丢了怎么办 二代身份证重号怎么办 北京行驶证到期怎么办 北京驾驶证即将过期怎么办 去澳门没有网络怎么办 三个周期未年检怎么办 深圳驾照丢了怎么办 武汉驾照年审过期怎么办 武汉驾照过期了怎么办 科二过不了怎么办 南京身份证到期换新怎么办 过期身份证丢了怎么办 南京驾照过期了怎么办 换驾照身体证明怎么办 学车办理暂住证怎么办 a牌驾照扣分怎么办 b牌驾照扣分怎么办 b驾照扣分了怎么办 考驾照要暂住证怎么办 换驾驶证有色盲怎么办