mysql的基础知识
首先,什么是数据库?数据库即使存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以通过SQL对数据库中的数据进行增加,修改,删除以及查询操作。
常见的数据库(软件):
mysql:开源免费的数据库,小型的数据库。已经被ORACLE收购。mysql变异版:mariadb->阿里云centos内置数据库。
ORACLE:收费的大型数据库。
DB2:IBM公司的数据库产品,收费的,常见于银行。
SQL SERVER:microsoft公司收费的中型数据库。
java相关的数据库:mysql,oracle。
1. 创建一个库
create database 库名
create database 库名character set 编码
查看编码:show create database 数据库名;
2. 删除一个库
drop database 库名
3. 使用库
use 库名;
1.创建一张表
create table 表名(
字段名 类型(长度) [约束],
字段名 类型(长度) [约束],
字段名 类型(长度) [约束]
);
2查看数据库表
创建完成后,我们可以查看数据库表
show tables;
查看表的结构
desc 表名
3.删除一张表
drop table 表名
4.修改表
4.1 添加一列
alter table 表名 add 字段名 类型(长度) [约束]
4.2 修改列的类型(长度、约束)
alter table 表名 modify要修改的字段名 类型(长度) [约束]
4.3 修改列的列名
alter table 表名 change旧列名 新列名 类型(长度) [约束]
4.4 删除表的列
alter table 表名 drop 列名
4.5 修改表名
rename table 表名 to 新表名
4.6 修改表的字符集
alter table 表名character set 编码
1.插入记录
insert into 表名(列名1,列名2,列名3……)values(值1,值2,值3……)
insert into 表名values(值1,值2,值3……)
1.1 插入数据中文乱码问题解决办法
方式一:【不建议!】
直接修改数据库安装目录里面的my.ini文件的第57行
方式二:
setnames gbk;
2.修改表记录
2.1 不带条件的
update 表名 set 字段名=值, 字段名=值, 字段名=值……
2.2 带条件的
update 表名 set字段名=值, 字段名=值, 字段名=值…… where 条件
3.删除表记录
3.1 带条件的
delete from 表名 where 条件
3.2.不带条件的
先准备数据
insert into tbl_user values(null,’老王’,’666’);
删除操作
deletefrom 表名;
3.3 面试题
说说delete与truncate的区别?
delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回。
truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回。
4.查询操作
语法:
select[distinct] *| 列名,列名from 表名 [where条件]
4.1 简单查询
1.查询所有商品
select * from product;
2.查询商品名和商品价格
select pname,price from product;
3.查询所有商品信息使用表别名
select * from product as p;
as可以省略
4.查询商品名,使用列别名
select pname as p from product
as可以省略
5.去掉重复值(按照价格)
select distinct(price) from product;
先准备数据:
insert into product values (null,'李士雪',38,null);
6.将所有的商品的价格+10进行显示
select pname,price+10 from product;
思考:
1.3.4 条件查询
1.查询商品名称为"左慈"的商品信息
2.查询价格>60元的所有商品信息
3.查询商品名称含有"士"字的商品信息
4.查询商品id在(3,6,9)范围内的所有商品信息
1.3.5 排序(asc/desc)
1.查询所有的商品,按价格进行排序(升序、降序)
2.查询名称有"士"的商品信息并且按照价格降序排序
1.3.6 聚合
1.获得所有商品的价格的总和
2.获得所有商品的平均价格
3.获得所有商品的个数
1.3.7 分组
1.添加分类id (alter table product add cid varchar(32);)
2.初始化数据
update product set cid='1';
update product set cid='2' where pid in (5,6,7);
查询:
1.根据cid字段分组,分组后统计商品的个数。
2.根据cid分组,分组统计每组商品的平均价格,并且平均价格大于20000元。
关注公众号,回复“mysql基础”,有惊喜哦。(IT大赏)