JAVA开发之MYSQL数据库知识点全掌握

JAVA开发之MYSQL数据库知识点全掌握
今天简单总结一下mysql数据库的基础知识,目前在Android项目开发中,还是后台开发中,数据库都扮演着很重要的角色。这篇文章更多是以cmd命令行的形式总结,也方便我们用到的时候直接查看~

我们先从数据的CRUD操作开始:

创建数据库:

语法:

create database 数据库名;(默认的是自己安装mysql的字符集)

create database 数据库名 character set 字符集;

查看数据库:

查看所有的数据库:show databases;

查看单个数据库的结构:show create database 数据库名称

删除数据库:

语法:

drop database 数据库名;

修改数据库:

语法:

alter database 数据库名 character set 字符集;

数据库的其它操作:

查看当前正在使用的数据库:select database();

切换数据库:use 数据库名;

接下来我们讲解一下数据库表的CRUD操作:

约束:

单表约束

主键:primary key

唯一:unique

非空:not null

创建一个分类表:

create table 表名(

字段1 类型(长度) 约束,

字段2 类型(长度)约束

)

举例:create table category1

(

cid int primary key auto_increment,

cname varchar(10) not null

)

下面的讲解我们就以我们创建的数据库为例进行讲解:

查看数据库表:

查看所有的表:show tables;

查看单个表的结构:desc 表名;

删除数据库表:

语法:

drop table 表名;

saveOrUpdate()

更新数据库的表:

修改表-添加列

alter table 表名 add 列名 类型(长度) 约束

修改表-修改列的类型和约束

alter table 表名 modify 列名 类型(长度) 约束

修改表-修改列的名称

alter table 表名 change 旧列名 新列名 类型(长度) 约束

修改表-删除列

alter table 表名 drop 列名

修改表-修改表名称 (慎用)

rename table 旧表名 to 新表名;

穿插讲一下java数据类型在mysql中怎么使用和展示:

java的数据类型 mysql数据库的数据类型

int int

float float

double double

char/string char/varchar(char: 固定字符串 varchar:可变的字符串) char(100) abc varcahr(3) abc

date date,time,timestamp

文件类型 blob:二进制 text:文本文件

数据库表里的数据CRUD的操作:

插入数据:

语法:

insert into 表名(列名1,列名2….) values (值1,‘值2’)

insert into 表名 values(值1,值2)

insert into fenlei values(null,’手机商城’);

insert into fenlei values(null,’电脑商城’);

注意的地方:

1 列名有多少个,values后面的值就要有多少个

2 列名顺序,与values后面的值顺序要相同

3 列名数据类型,与values后面的值的数据类型得一致

4 插入时不得超过最大长度

5 值如果是字符串类型或则是日期类型

我们需要给我们的值加上单引号

cmd命令行插入中文问题:针对的是cmd命令行

1 my.ini文件,在[mysql]设置字符集:GBK

2 重启mysql服务 services.msc

修改表中的数据:

语法:

update 表名 set 列名=值 【where 条件】

注意:

1 我们修改的列名的类型,要与设定的类型一样

2 我们值的类型不能超过设定值的大小

3 我们的值如果是字符串类型或则是日期类型,需要给值加上”

删除表中的数据:

语法:

1 delete from 表名 【where 条件】

2 truncate 表名

区别:

delete是一条一条从表里面删除数据

truncate是直接删除整张表,重建一张数据结构一样的新表

扩展:如果是在一个事物中

delete删除的数据还可以找回来

而truncate删除的数据就无法找回来了

查看表中的数据:

举例:创建一个商品表:

create table product

(

pid int primary key auto_increment,

pname varchar(20),

price double

)

insert into product values(null,’小米手机’,2800);

insert into product values(null,’华为手机’,2800);

insert into product values(null,’联想手机’,4800);

insert into product values(null,’苹果手机’,5800);

insert into product values(null,’联想电脑’,6800);

insert into product values(null,’苹果电脑’,8800);

insert into product values(null,’戴尔电脑’,7800);

简单的查询:

1 查询所有的商品

select * from product;

2 查询商品名称和商品价格select pname,price from product;

3 使用别名查询商品:as as也可以省略

表别名:select * from product as shangping;

列别名:select pname as mingcheng,price as jiage from product;

4 去重查询 distinct

select distinct price from product;

JAVA开发之MYSQL数据库知识点全掌握,收藏吧

mysql

条件查询:

1 查询商品名称为小米手机商品;

select * from product where pname=’小米手机’;

2 查询商品价格大于3800的所有商品select * from product where price>3800;

******where后面的字符:

=,>,<,>=,<=,<> and or

like: 模糊查询

_占位符 %占位符

_占位符:代替一个字符

%占位符: 代替多个字符

in: 在取值范围内

3 查询所有带手机的商品 (使用_)

select * from product where pname like ‘__手机’;

4 查询所有带手机的商品 (使用%)

select * from product where pname like ‘%手机’;

5 查询商品价格在3800,4800,5800的所有商品

select * from product where price in(3800,4800,5800);

select * from product where pname in(‘小米手机’,’华为手机’,’联想手机’);

排序查询

order by —asc默认 升序 —-desc 降序

1 获得所有的商品,按照商品的价格来从小到大排序

select * from product order by price asc;

2 获得商品里面带手机的所有商品,并且让所有商品按照价格从大到小排序

select * from product where pname like ‘%手机’ order by price desc;

聚合函数: max() min() avg() sum() count()

1 想查询价格最小的商品;

select min(price) from product;

2 查询价格最大的商品;

select max(price) from product;

3 查询商品价格的总和

select sum(price) from product;

4 查询所有商品的平均值

select avg(price) from product;

5 统计所有的商品的个数

select count(*) from product;

分组查询: group by 字段

1 查询所有商品数量,按照商品的标识分组

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

2 查询所有商品价格的平均值,按照商品的标识分组来查询,并且平均值大于3000

select bs,avg(price) from product group by bs having avg(price)>3000;

你可能感兴趣的:(Android,JavaEE)