MySQL基础

1、数据库(database),数据库管理系统(DBMS),表(table)。
打开方式:
运行打开:services.msc
这里写图片描述
可以看到mysql服务
这里写图片描述
启动和关闭:
在开始菜单的搜索框张收入cmd,然后右键单击,并选择以管理员身份运行。
这里写图片描述
登陆:mysql -u用户名 -p密码
这里写图片描述

2、SQL语句
2.1、分类:
这里写图片描述

这里写图片描述

2.2、创建一个数据库:

create database 库名;
create database 库名 character set 编码;

这里写图片描述

这里写图片描述
查看所有数据库:

show databases;

这里写图片描述

查看某个数据库的定义信息:

show create database 数据库名;

这里写图片描述
删除数据库:

drop database 数据库名;

这里写图片描述
使用数据数据库:use 库;
这里写图片描述
查看当前正在操作的数据库:select database();
这里写图片描述

3、table表操作:
这里写图片描述
这里写图片描述

创建,查看表:
这里写图片描述

查看表结构,删除表:
这里写图片描述

添加一列:
这里写图片描述

修改列名类型:
这里写图片描述

修改列名:
这里写图片描述

删除表的列:
这里写图片描述

修改表名:
这里写图片描述

查看当前表的编码并修改表的字符集:
这里写图片描述

4、字段类型:
这里写图片描述
这里写图片描述

5、插入记录:linsert

insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……);
insert into 表名 values(值1,值2,值3……);

注意:
值如果是字符串或者日期需要加单引号!!!
这里写图片描述

这里写图片描述

插入数据中文乱码问题解决办法:
方式一:【不建议!】
直接修改数据库安装目录里面的my.ini文件的第57行
default-character-set=utf8 改为default-character-set=gbk
方式二:

set names gbk;

这里写图片描述

6、更新修改记录:update

update 表名 set 字段名=值, 字段名=值, 字段名=值……;
update 表名 set 字段名=值, 字段名=值, 字段名=值…… where 条件;

这里写图片描述

这里写图片描述

7、删除表记录:delete

delete from 表名 where 条件;
delete from 表名;

这里写图片描述
注意:删除后,uid不会重置!!!

这里写图片描述
注意:
delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回。
truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回。
delete删除,uid不会重置!而使用truncate操作,uid会重置,因为它删除了表结构,然后再创建一张一模一样的表,所以再次插入数据的数据的时候从1开始。

这里写图片描述

truncate table 表名;

truncate删除后无法恢复,表名还在。

8、查询操作
准备:

#创建商品表
create table product(
    pid int primary key auto_increment,
    pname varchar(20),
    price double,
    pdate timestamp
)
#自动增长列:auto_increment,要求:1,必须整型(int) 2.必须是主键
insert into product values (null,'谭妮平',0.01,null);
insert into product values (null,'李士雪',38,null);
insert into product values (null,'左慈',-998,null);
insert into product values (null,'黄迎',99999,null);
insert into product values (null,'南国强',99998,null);
insert into product values (null,'士兵',1,null);
insert into product values (null,'李士兵',698,null);

8.1、查询所有商品

select * from product;

查询商品名和商品价格

select pname,price from product;

查询所有商品信息使用表别名(as可以省略)

select * from product as p;

查询商品名,使用列别名

select pname as p from product;

去掉重复值(按照价格)

select distinct(price) from product;

将所有的商品的价格+10进行显示

select pname,price+10 from product;

8.2、 条件查询
这里写图片描述
查询商品名称为”左慈”的商品信息

select * from product where pname='左慈';

查询价格>60元的所有商品信息

select * from product where price>60;

查询商品名称含有”士”字的商品信息

select * from product where pname like '%士%';

查询商品id在(3,6,9)范围内的所有商品信息

select * from product where pid in(3,6,9);

查询商品名称含有”士”字并且id为6的商品信息

select * from product where pname like '%士%' and pid=6;

查询id为2或者6的商品信息

select * from product where pid=2 or pid=6;

8.3、排序
查询所有的商品,按价格进行排序(升序asc、降序desc)

select * from product order by price asc;
select * from product order by price desc;

查询名称有”士”的商品信息并且按照价格降序排序

select * from product where pname like '%士%' order by price desc;

8.4、聚合函数
注意:聚合函数不统计null值

获得所有商品的价格的总和

select sum(price) from product;

获得所有商品的平均价格

select avg(price) from product;

获得所有商品的个数

select count(*) from product;

8.5 分组操作
准备:添加分类id

alter table product add cid varchar(32);

初始化数据

update product set cid='1';
update product set cid='2' where  pid in (5,6,7);

根据cid字段分组,分组后统计商品的个数

select cid,count(*) from product group by cid;

根据cid分组,分组统计每组商品的平均价格,并且平均价格大于20000元

select cid,avg(price) from product group by cid having avg(price)>20000;

8.6、查询总结

select:一般在的后面的内容都是要查询的字段
from:要查询到表
where:查询条件
group by:分组 
having:分组后带有条件只能使用having
order by:它必须放到最后面,排序,ascdesc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值