MySQL表内操作

1.增

insert into 表(列名、列名...)values (值、值...)

insert into表(列名、列名...)values (值、值...)(值、值...)

insert into表(列名、列名...)select(列名、列名...)from 表

2.删

delete from 表        #删除表里的全部数据

delete from 表 where id=a and name='b '     #删除 id=a 和 name=b 的那一行数据

3.改

update 表set name='b' where id>1

4.查

select * from 表

select * from 表 where id>1

select nid、 name 、gender as gg from 表 where id>1

  a.条件判断where

   select * from 表 where id >1 and name != 'a' and num =12;

   select * from 表 where id between 3 and 6 ;

   select * from 表 where id in (11,22,33)

   select * from 表 where id not in (11,22,33)

   select * from 表 where id in (select nid from 表)

  b.通配符 like

   select * from 表 where name like ‘zhang%’  #zhang开头的所有(多个字符串)

   select * from 表 where name like ‘zhang’   #zhang开头的所有(一个字符)

  c.限制 limit

   select * from 表 limit 5;        前5行

   select * from 表 limit 4,5;       从第4行开始的5行

   select * from 表 limit 5 offset 4     从第4行开始的5行

  d.排序asc ,desc

   select * from 表 order by 列 asc          根据‘列’从小到大排

   select * from 表 order by 列desc         根据‘列’从大到小排

   select * from 表 order by 列1 desc,列2 asc   根据‘列1’从大到小,如果相同则按列2从小到大排序

  e.分组group up

   select num from 表 group by num

   select num,nid from 表 group by num,nid

   select num,nid from 表where nid >10 group num ,nid ordrer nid desc 

   select num,nid, count (*),sum(score),max(score),min(score) from 表 group by num ,nid

   select num from 表 group by num having max(id)>10

    注意:group by 必须在where之后,order by 之前

  f.连表

  g.组合

视图 view

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的行和列数据,但是视图并不在数据库中以存储的数据值集形式存在。行和列数据由自定义视图的查询所引用的表,并且在引用视图是动态生成

对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前和其他数据库的一个或多个表,或者其他视图。通过视图进行查询没有任何限制,通过他们进行数据修改的限制也比较少。

视图是储存在数据库中的查询的SQL语句,主要出于2个原因:安全原因,视图可以隐藏一些数据。

1.创建视图

   格式:create view 视图名称 as SQL语句

2.删除视图

 格式:drop view 视图名称

3.修改视图

 格式:alter view 视图名称 as SQL语句

4.使用视图

 使用视图时把视图当做表进行操作即可,由于视图是虚拟表,所以无法使用其对真实表进行创建、更新和删除进行操作,仅能查询。

 

posted @ 2019-01-23 17:09  jacky912  阅读(82)  评论(0编辑  收藏  举报