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;
今天簡單總結一下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;
條件查詢:
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;
本文詳細的講解和舉例了數據庫mysql的使用,可以收藏起來,如果我們開發中,忘記了,可以查看~