MySQL笔记

数据定义语言

操作对象:数据库和表
关键词:create alter drop

1. 登入数据库

mysql -uroot

2. 查看所有数据库

show databases

3. 创建数据库

create database 数据库名称;

4. 删除数据库

drop database 数据库名称;

5. 切换或者进入数据库

use 数据库名称;

6. 查看当前数据库下的所有表

show tables;

7. 查看表结构

desc 表名;

8. 查看建表语句

show create table 表名;

9. 创建表
create table user(
  id int primary key auto_increment,
  username varchar(20),
  password varchar(10)
);
10. 修改表
  • 修改表名:
    alter table 旧表名 rename to 新表名;
    eg:alter table user1 rename to user10;
  • 添加字段:
    alter table 表名 add 字段描述;
    eg:alter table user add password varchar(20);
  • 修改字段名:
    alter table 表名 change 旧字段名称 新字段描述;
    eg:alter table user change password pwd varchar(20);
  • 修改字段描述:
    alter table 表名 modify 字段名称 字段类型;
    eg:alter table user modify pwd int;
  • 删除字段:
    alter table 表名 drop 字段名;
    eg:alter table user drop pwd;
11. 删除表

drop table 表名;


数据操作语言

操作对象:记录(行)
关键词:insert update delete

1. 插入
  • 格式1:
    insert into 表名 values(字段值1,字段值2…,字段值n);
  • 格式2:
    insert into 表名 (字段名1,字段名2…,字段名n) values(字段值1,字段值2…,字段值n);
    eg:insert into user (username,pwd) values (‘tom’,123);
2. 修改

update 表名 set 字段名1=字段值1,字段名2=字段值2…[where 条件];
eg:update user set username=‘jack’where username=‘tom’;

3. 删除

delete from 表名 [where 条件];
eg:delete from user where username=‘jack’;


数据查询语言

关键词:select

1. 格式

select … from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段 ase|desc

2. 简单查询
  • 查询所有商品:
    select * from 表名;
    eg:select * from products;
  • 查询商品名和商品价格:
    select 字段名1,字段名2 from 表名;
    eg:select pname,price from products;
  • 查询商品价格:
    eg:select price from products;
  • 查询商品价格并去除重复:
    select distinct 字段名 from 表名;
    eg:select distinct price from products;
    将所有商品价格+10元进行显示(可以在查询的结果之上进行运算,但不影响数据库中的值)
    eg:select price+10 from products;
3. 条件查询
  • 查询商品名称为十三香的商品所有信息:
    eg:select * from products where pname=‘十三香’;
  • 查询商品价格>60元的所有的商品信息:
    eg:select * from products where price>60;
  • 查询商品名称中包含“新”的商品(模糊匹配):
    匹配规则:
    1.匹配内容 %
    “新” 值为新
    “%新” 值以“新”结尾
    “新%” 值以“新”开头
    “%新%” 值包含“新”
    2.匹配个数 _
    一个下划线代表占一个位置
    字段名 like “匹配规则”;
    eg:select * from products where pname like ‘%新%’;
  • 查询价格为38,68,98的商品:
    eg:select * from products where price=38 or price=68 or price=98;
    eg:select * from products where price in(38,68,98);
  • 查询价格区间在50到60之间的商品的信息:
    eg:select * from products where price between 50 and 60;
4. 高级查询
  • 排序查询:
  1. 查询所有的商品,按价格进行排序(asc-升序,desc-降序)
    eg:select * from products order by price desc;
  2. 查询名称有“新”的商品的信息并且按价格降序排序
    eg:select * from products where pname like ‘%新%’ order by price desc;
  • 聚合函数(对一列进行计算,返回值只有一个):
    sum(),avg(),max(),min(),count();
    1. 获得所有商品的价格的总和
      eg:select sum(price) from products;
    2. 获得商品表中价格的平均数
      eg:select avg(price) from products;
      round(值,保留小数位)
      eg:select round(avg(price),2) from products;
    3. 获得商品表中有多少条记录
      eg:select count(*) from products;
  • 分组(使用group by):
  1. 根据cno字段分组,分组后统计商品的个数
    eg:select cno,count(*) from products group by cno;
  2. 根据cno分组,分组统计每组商品的总数量,并且总数量>200
    eg:select cno,sum(pnum) from products group by cno having sum(pnum)>200;

where和having的区别:
where是对分组前的数据进行过滤
having是对分组后的数据进行过滤
where后面不能使用聚合函数,having可以使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值