zoukankan      html  css  js  c++  java
  • 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)

    1.MySQL注释语法--,#

    2.2.后缀是.sql的文件是数据库查询文件。

    3.保存查询。 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了)。保存以后下次再查询的话列表里面会出现保存的表格,双击就可以打开文字,看到以前写的内容。

    CRUD操作:
    create 创建(添加)
    read 读取
    update 修改
    delete 删除

    1、添加数据
    insert into Info values('p009','张三',1,'n001','2016-8-30 12:9:8') ; 
    给特定的列添加数据
    insert into Info (code,name) values('p010','李四');
    自增长列的处理
    insert into family values('','p001','数据','T001','数据',1);

    insert into 表名 values(值)

    2、删除数据
    删除所有数据
    delete from family
    删除特定的数据
    delete from Info where code='p001'

    delete from 表名 where 条件

    3、修改数据
    修改所有数据
    update Info set name='徐业鹏' 
    修改特定数据
    update Info set name='吕永乐' where code='p002' 
    修改多列
    update Info set name='吕永乐',sex=1 where code='p003'

    update 表名 set 要修改的内容 where 条件

    4、读取数据
    (1)简单读取,查询所有列(*) 所有行(没有加条件)
    select * from Info
    (2)读取特定列
    select code,name from Info
    (3)条件查询
    select * from Info where code='p003'
    (4)多条件查询
    select * from Info where code='p003' or nation='n002' #或的关系
    select * from Info where sex=0 and nation='n002' #与的关系
    (5)关键字查询(模糊查询)
    查所有包含奥迪的汽车
    select * from car where name like '%奥迪%'; #百分号%代表任意多个字符
    查以'皇冠'开头的所有汽车
    select * from car where name like '皇冠%';
    查询汽车名称中第二个字符是'马'的
    select * from car where name like '_马%'; #下划线_代表任意一个字符
    (6)排序查询
    select * from car order by powers #默认升序排列
    select * from car order by powers desc #升序asc 降序 desc
    先按brand升序排,再按照price降序排
    select * from car order by brand,price desc

    MySQL之修改表中的列

    修改表中列的语法:

    一张表,创建完毕,有了N列。之后还可以增加或删除或修改列

    增加表中列的语法:

    alter table 表名 add 列名称 列类型 列参数; [这样加的列在表的最后]
    例:alter table family add age int

    alter table 表名 add 列名称 列类型 列参数 after 某列; [新列加在某列后]
    例:alter table m1 add username char(20) not null default '';

    如果想增加一列,并位于表的最前面,用first
    alter table 表名 add 列名称 列类型 列参数 first;
    例:alter table m1 add pid int not null first;

    上面红色字体效果运行后不起作用,可以在表格中拖动列的位置放在目标位置。

    删除表中列的语法:

    alter table 表名 drop 列名
    例:alter table family drop age

    修改表中列类型的语法:

    alter table 表名 modify 列名 新类型 新参数;
    例:alter table family modify age varchar 

    修改表中列名及类型的语法:

    alter table 表名 change 旧列名 新列名 新类型 新参数;
    例:alter table family change name mingzi varchar(20)

    (7)范围查询
    select * from car where price>40 and price<60   --查询价格在40-60之间的
    select * from car where price between 40 and 60   --between...and...

    (8)离散查询       查询离散值,例如查询汽车价格是30、40、50、60等整数的
    select * from car where price=30 or price=40 or price=50 or price=60;
    select * from car where price in(30,40,50,60)
    select * from car where price not in(30,40,50,60)   --价格除30,40,50,60以外的数的

    (9)聚合函数(统计查询)
    select count(*) from car    --查询这张表里面有多少数据。count方法可以用来求条数
    select count(code) from car #取所有的数据条数。code为主键,内容不为空,可以用code查询。
    select sum(price) from car #求价格总和
    select avg(price) from car #求价格的平均值
    select max(price) from car #求最大值
    select min(price) from car #求最小值

      数据查询原理:数据库在查询数据的时候会每一条数据都会查一遍,查询的时候如果条件成立,会返回数据true,如果不成立,会返回false。如果返回的是true,就会选取这条数据,如果返回的是false,就pass掉这条数据。例如,如果select * from car where 1=1,输出的会是表格的所有数据,因为1=1恒满足条件。

    (10)分页查询   每一页有很多数据,可以查看下一页的数据。
    select * from car limit 0,10 #分页查询,跳过几条数据(0)  取几条(10)
    规定一个每页显示的条数:m
    当前页数:n
    select * from car limit (n-1)*m,m  取第n页显示的m条数据

    (11)去重查询
    select distinct brand from car     --distinct表示去重,前面代码表示对brand列去重查询

    去重查询适合查1列,查2列就不适合用了。

    (12)分组查询
    查询汽车表中,每个系列下汽车的数量。按照brand分组。
    select brand,count(*) from car group by brand
    分组之后,只能查询该列或聚合函数

    取该系列价格平均值大于40的系列代号
    select brand from car group by brand having avg(price)>40

    取该系列油耗最大值大于8的系列代号
    select brand from car group by brand having max(oil)>8

  • 相关阅读:
    js基础之变量作用域和es6解构赋值
    js基础之函数的定义和调用
    js基础之引用数据类型
    js基础之基本数据类型
    js基础之变量声明提升
    浏览器渲染页面
    flex布局
    web前端性能优化
    动态修改docker容器环境变量env
    蓝鲸前端框架
  • 原文地址:https://www.cnblogs.com/xiaofox0018/p/5967098.html
Copyright © 2011-2022 走看看