日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

笔记-JavaWeb学习之旅2

發布時間:2024/4/15 java 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 笔记-JavaWeb学习之旅2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫的基本概念

1.數據庫:DataBase 簡稱 DB,用于存儲和管理數據的倉庫

特點:

1.持久化存儲數據的,其實數據庫就是一個文件系統,

2.方便存儲和管理數據

3.使用了統一操作數據庫 --SQL

SQL通用語法

  • SQL語句可以單行或多行書寫,以分號結尾

  • 可使用空格和縮進來增強可讀性

  • MySQL數據庫的SQL語句不區分大小寫,關鍵字建議大寫

  • 3種注釋

  • 單行注釋: -- 注釋內容 或 # 注釋內容

  • 多行注釋 :/* 注釋*/

  • SQL分類:
  • DDL(Data Definition Language)數據定義語言,用來定義數據庫對象:數據庫表,列等。關鍵字: create,drop,alter等
  • DML(Data Maipulation Language)數據操作語言,用來對數據庫中表的數據進行增刪改,關鍵字:insert,delete,update等
  • DQL(Data Query Language)數據查詢語言,用來查詢數據庫中表的記錄,關鍵字:select ,where等
  • DCL(Data Control Language)數據控制語言,用來定義數據庫的訪問權限和安全級別,級及創建用戶,關鍵字:GRANT,REVOKE等
  • DDL:操作數據庫、表

    操作數據庫
  • C(Create):創建

  • 創建數據庫 create database 數據庫名稱;

  • 創建數據庫,判斷不存在在創建

    ? create database if not exists 數據庫名稱;

  • 創建數據庫,并制定字符集

    ? create database 數據庫名稱 character set 字符集名:

  • R(Retrieve):查詢

  • 查詢所有數據庫的名稱

    ? show databases;

  • 查詢某個數據庫的字符集:

    ? show create database 數據庫名稱;

  • U(Update):修改

  • 修改數據庫的字符集

    ? alter database 數據庫名稱 character set 字符集名稱;

  • D(Delete):刪除

  • 刪除數據庫

    ? drop database 數據庫名稱;

  • 判斷數據庫存在,存在再刪除

    ? drop database if exists 數據庫名稱;

  • 使用數據庫

  • 查詢當前正在使用的數據庫名稱

    ? select database();

  • 使用數據庫

    ? use 數據庫名稱;

  • 操作表

  • C(Create):創建

  • 語法:

  • create table 表名(

    ? 列名1 數據類型1,

    ? 列名2 數據類型2,

    ? .....

    ? 列名n 數據類型n

    );

    注意:最后一列,不需要加逗號

    數據庫常用類型:

  • int: 整數類型
  • double:小數類型
  • date 日期類型,只包含年月日 ,
  • datatime:日期類型,包含年月日時分秒
  • timestamp:時間錯類型 包含年月日時分秒(如果不給這個字段賦值,或賦值為null,則默認使用當前系統的時間)
  • varchar:字符串
  • 復制表:create table 新的表名 like 被復制的表名;

  • R(Retrieve):查詢

  • 查詢某個數據庫中所有的表名 show tables;

  • 查詢表結構

    ? desc 表名;

  • U(Update):修改

  • 修改表名

    ? alter table 表名 rename to 新的表名;

  • 修改表的字符集

    ? alter table 表名 character set 字符集名稱;

  • 添加一列

    ? alter table 表名 add 列名 數據類型;

  • 修改列名稱 和數據類型

    ? alter table 表名 change 舊的列名 新列名 新數據類型;

    ? alter table 表名 modify 列名 新數據類型(這種方式只改數據類型);

  • 刪除列

    ? alter table 表名 drop 列名;

  • D(Delete):刪除

  • drop table 表名;
  • drop table if exists 表名;
  • CREATE TABLE student(id int,-- 列名id 數據類型 intname varchar(32),-- 列名 數據類型字符串varchar,字符串數據類型要指定長度age int,score double(4,1),birthday date,insert_time timestamp -- 不要加逗號);

    DML:增刪改表中數據

  • 添加數據:

    ? 語法:insert into 表名(列名1,列名2,,...列名n)values(值1,值2,...值n);

    注意

  • 列名和值都要一一對應
  • 如果表名后,不定義列名,則默認給所有列添加值
  • 除了數字類型,其他類型都需要使用引號(單雙都可以)引起來
  • 刪除數據

    ? 語法:

    ? delete from 表名[where 條件]

    ? 如果不加條件,則刪除表中所有記錄

    ?

  • 修改數據

    ? 語法:

    ? update 表名 set 列名1 = 值1 ,列名2 = 值2,....[where 條件];

    ? 如果不加任何條件,則會將表中所有記錄全部修改

  • DQL:查詢語句

  • 排序查詢

    ? 語法:

    ? SELECT *FROM 表名 ORDER BY 排序字段1 排序方式1,排序字段 排序方式2...

    ? 排序方式:

    ? ASC:升序,磨人的

    ? DESC:降序

    ? 注意:

    ? 如果有多個排序條件,則當前邊的條件值一樣時,才會判斷第二條件

  • 聚合函數

  • count:計算個數 SELECT COUNT(列名) FROM 表名;
  • max:計算最大值 SELECT MAX(列名) FROM 表名;
  • min:計算最小值 SELECT MIN(列名) FROM 表名;
  • sum:計算和 SELECT SUM(列名) FROM 表名;
  • avg:計算平均值 SELECT AVG(列名) FROM 表名;
  • 分組查詢

    ? 1.語法:group by分組字段;

    ? 2.注意:

  • 分組之后查詢的字段:分組字段、聚合函數

  • where和having的區別

    ? 1.where在分組之前就已經限定了(篩選出條件不滿足的)having在分完組之后在進行限定,又一次篩選出不滿足的

    ? 2.where后不可以跟聚合函數,having可以跟聚合函數

  • DESC student; SELECT*FROM student; INSERT INTO student VALUES(9,'小喬',17,'女','建業',83,95);-- 把男女分為兩組,然后按照性別來求他們的數學平均分 SELECT sex,AVG(math) FROM student GROUP BY sex; -- sex是數組字段,AVG(math)是聚合函數,COUNT(id)也是聚合函數 -- MAX(english)也是聚合函數,現在可以求出他們分組后的,分組后的,分組后的所需的各種值 -- 把男女分為兩組,然后按照性別來求他們的數學平均分 -- 把他們分為兩組之后他們的一組都有多少人 SELECT sex,AVG(math),COUNT(id),MAX(english) FROM student GROUP BY sex; -- 要求分數大于90分的才參與分組 SELECT sex,AVG(math),COUNT(id),MAX(english) FROM student WHERE math >90 GROUP BY sex; UPDATE student SET math=95 WHERE id=9; -- 要求分組后的人數大于2個人,才參入求數學平均分,分組后的人數,英語最大值SELECT sex,AVG(math) ,COUNT(id) ,MAX(english) FROM student WHERE math >90 GROUP BY sex HAVING COUNT(id)>2; -- 可以對分組后的聚合函數后面可以加別名 SELECT sex,AVG(math) 平均分,COUNT(id) 人數,MAX(english)最大值 FROM student WHERE math >90 GROUP BY sex HAVING COUNT(id)>2; --
  • 分頁查詢

  • 語法:limit 開始的索引,每頁查詢的條數;
  • 公式:開始的索引= (當前的頁碼-1)*每頁顯示的條數
  • DQL:查詢表中的記錄

  • 語法

    select

    ? 字段列表(name ,age,sex)

    from

    ? 表名列表

    where

    ? 條件列表

    group by

    ? 分組查詢

    having

    ? 分組后的條件

    order by

    ? 排序

    limit

    ? 分頁限定

  • 基礎查詢

  • 多個字段的查詢

    ? select 字段名1,....from 表名;

  • 去除重復

    ? distinct

  • 計算列

    ? 一般可以使用四則運算計算列與列之間的值

    ? ifnull(表達式1,表達式2):表達式1表示的是哪個字段,如果該字段為null,則使用表達式2來替代null

  • 其別名

    as

  • -- 去除重復的結果集 SELECT DISTINCT address FROM student; -- 計算math和english的和 SELECT NAME,math+english FROM student; SELECT NAME,math 數學,english 英語,math+english 總分 FROM student;

    條件查詢

  • where子句后跟條件

  • 運算符>,<,<=,>=,=,<>,,BETWEEN...AND ,IN(集合),LIKE, IS NULL ADN或&&,or或||,not或!

  • 表的約束

  • 主鍵約束:primary key
  • 非空約束:not null
  • 唯一約束:unique
  • 外鍵約束:foreign key
  • 非空約束:
    -- 非空的作用:被修飾的列不能為null -- 非空約束的創建 在創建表示添加非空約束 CREATE TABLE stu(id INT NOT NULL, -- id為非空NAME VARCHAR(20) ); -- 在表創建完之后添加非空 ALTER TABLE stuMODIFY NAME VARCHAR(20) NOT NULL; -- NAME為非空

    唯一約束

    -- 唯一約束的作用:被修飾的列的值不能重復 -- 創建表時,添加唯一元素 CREATE TABLE stu(id INT,phome_number VARCHAR(20) UNIQUE -- 添加了唯一元素 ); -- 在表創建后添加唯一約束 ALTER TABLE stu MODIFY phone number VARCHAR(20) UNIQUE; -- 刪除唯一約束 ALTER TABLE stu DROP INDEX phone_number;
    主鍵約束
    CREATE TABLE stu(id INT PRIMARY KEY AUTO_INCREMENT, -- 給id添加主鍵約束,AUTO_INCREMENT自動增長NAME VARCHAR(20) ); -- 刪除主鍵 ALTER TABLE stu DROP PRIMARY KEY; -- 創建表后,添加主鍵 ALTER TABLE stu MODIEY id INT PRIMARY KEY; -- 刪除自動增長 ALTER TABLE stu MODIEY id INT; -- 添加自動增長 ALTER TABLE stu MODIEY id INT AUTO_INCREMENT;
    外鍵約束
    -- 外鍵約束作用:讓表與表之間產生關系,從而保證數據的正確性 CREATE TABLE 表名(....外鍵列constraint 外鍵名稱 foreign key (外鍵列名稱) references 主表名稱(注表列名稱) ); -- 刪除外鍵 ALTER TABLE 表名 DROP FOREIGN KEY 外鍵名稱; -- 創建之后,添加外鍵 ALTER TABLE 表名 ADD constraint 外鍵名稱 foreign key (外鍵列名稱) references 主表名稱(注表列名稱) -- 級聯操作 -- 作用,列被修改后被關聯的另外一條列也會被更改 -- 添加方法 ALTER TABLE 表名 ADD ALTER TABLE 表名 ADD constraint 外鍵名稱 foreign key (外鍵列名稱) references 主表名稱(注表列名稱) ON UPDATE CASCADE ON DELETE CASCADE;ON UPDATE CASCADE;級聯更新,更新一條列,被關聯的列也會被更新ON UPDATE CASCADE;級聯刪除,刪除一條列,被關聯的列也會被刪除

    轉載于:https://www.cnblogs.com/train99999/p/10958159.html

    總結

    以上是生活随笔為你收集整理的笔记-JavaWeb学习之旅2的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。