DB
數據庫是存儲數據的倉庫,其本質是文件管理系統
,數據按照特定格式將數據存儲起立,用戶能夠對數據庫中的數據操做。數據庫自己就是一個服務器,用戶面對的是管理數據庫的操做系統。java
表與類的關係
java中的類與數據庫中的表是對應的,java的成員變量對應於數據庫中的字段,每一條表格數據對應一個java對象。將java開發與DB對應,當用戶使用的時候就要對應產生對象。而且數據庫的鏈接要保持安全,必須使用TCP/IP協議,使用UTF-8的編碼格式。sql
Sql語句
SQL結構化查詢語言
,用於存儲查詢數據數據庫
類型 |
描述 |
INT |
整型 |
DOUBLE |
浮點型 |
VARCHAR |
字符串類型 |
DATE |
日期類型,年月日 |
庫操做
安全
- create database 數據庫名;
- create database 數據庫名 character set 字符集;
- show databases;查看Mysql服務器中全部的數據庫
- show create database 數據庫名;查看某個數據庫的定義的信息
- drop database 數據庫名稱;刪除數據庫
- use 數據庫名;
- select database();查看正在使用數據庫
表操做
服務器
-
create table 表名(函數
字段名 數據類型 約束,編碼
字段名 數據類型 約束,操作系統
字段名 數據類型 約束code
);orm
-
show tables;
-
desc 表名;
-
drop table 表名
-
rename table 表名 to 新名;
約束
- not null;不爲空約束
- primary key;主鍵約束,保證主鍵是惟一的,而且不爲空
- auto_increment;自增加
改表操做
- alter table 表名 add 列名 數據類型 約束; 添加一個字段
- alter table 表名 modify 列名 數據類型 約束;修改lie名,數據類型和約束
- alter table 表名 change 舊列名 新列名;修改列名
- alter table 表名 drop 列名;刪除列
添加數據
- insert into 表名{列名 1,列名 2} values (值1,值2)
- insert into 表名 (列名) values (值)添加數據格式,不考慮主鍵
- insert into 表名 values (全列值)
批量寫入
- insert into 表名 (列名1,列名2 ,列名3) values (值),(值),(值);
數據的跟新操做
- update 表名 set 列1 = 值1,列2 = 值2 while 條件
- update 表名 set 列名 = 值 while 條件
- delete from 表名 where 條件
查詢數據
- select * from 表名;
- select distinct 字段 form 表名;去掉重複的記錄
- select 字段 form 表名as 別名字段
條件寫法
<>
不等於
and
or
not
與或非
in(set)
包含
like
%
用來匹配多個字符,/
匹配一個字符
模糊查詢
- select * from 表名 where 字段 like %xxx% 匹配中間含有xxx的
- select * from 表名 where 字段 like ______匹配五個字符的
is null
判空
between and
組合期間查詢
排序
- order by 列名 [desc] ,[asc]
- select * from 表名 order by 字段 順序
亂碼問題
聚合函數
縱向查詢
,聚合,對一列進行計算而後返回單一的一個值,聚合函數會忽略空值
- count 統計不爲空的行數
- sum 指定列的數值和,若是不是數值就是0
- select sun(*) form 表名 where 條件
- max 返回最大值,若是是字符串就用排序運算
- min 返回最小值,若是是字符串就用排序運算
- avg 計算平均值,若是不是數值,返回0
分組查詢
對重複數據單獨分組:
必須和聚合函數一塊兒使用
- group by 被分組的列名
- select sum(xxx) form 表名 group by 字段
- having 條件;分組以後再次查詢語句
==查詢中容許直接運算==