java基礎專欄—DB(1)

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 字段 順序

亂碼問題

  • set names 'GBK'

聚合函數

縱向查詢,聚合,對一列進行計算而後返回單一的一個值,聚合函數會忽略空值

  • count 統計不爲空的行數
    • select count(*) from 表名
  • sum 指定列的數值和,若是不是數值就是0
    • select sun(*) form 表名 where 條件
  • max 返回最大值,若是是字符串就用排序運算
  • min 返回最小值,若是是字符串就用排序運算
  • avg 計算平均值,若是不是數值,返回0

分組查詢

對重複數據單獨分組:必須和聚合函數一塊兒使用

  • group by 被分組的列名
    • select sum(xxx) form 表名 group by 字段
  • having 條件;分組以後再次查詢語句

==查詢中容許直接運算==

相關文章
相關標籤/搜索