資料庫學習筆記

yitouyouzi發表於2018-10-18

銜接
https://www.cnblogs.com/best/p/6517755.html
強化練習
https://www.cnblogs.com/best/p/9262315.html

問題

資料庫
資料庫分類
最常見的資料庫模型
什麼是正規化
設定mysql遠端訪問
修改mysql使用者密碼
使用GUI操作MySQL
增加資料
查詢資料
表示式與條件查詢
聚合函式
刪除資料
更新資料
修改表(新增列修改列刪除列)
重新命名錶
刪除表
刪除資料庫
JDBC訪問MySQL

資料庫分類
層次式資料庫、網路式資料庫和關係式資料庫三種
最常見的資料庫模型主要是兩種,即關係型資料庫和非關係型資料庫。
最常見的資料庫模型
關係型資料庫和非關係型資料庫

什麼是正規化
設計規範化的資料庫,就要求我們根據資料庫設計正規化――也就是資料庫設計的規範原則來做
三大正規化
第一正規化(1NF):所有的列都應該是原子性的
第二正規化(2NF):第二正規化(2NF)要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成一個新的實體,新實體與原實體之間是一對多的關係。
第三正規化(3NF):第三正規化的目標就是確保表中各列與主鍵列直接相關,而不是間接相關。即各列與主鍵列都是一種直接依賴關係,則滿足第三正規化。

設定mysql遠端訪問
執行mysql 命令進入mysql 命令模式,執行如下SQL程式碼

mysql> use mysql;
mysql> GRANT ALL ON . TO admin@’%’ IDENTIFIED BY ‘admin’ WITH GRANT OPTION;

#這句話的意思 ,允許任何IP地址(上面的 % 就是這個意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個MySQL Server
#必須加類似這樣的帳戶,才可以遠端登陸。 root帳戶是無法遠端登陸的,只可以本地登陸

修改mysql使用者密碼
格式如下(其中,USER為使用者名稱,PASSWORD為新密碼):

mysqladmin -u USER -p password PASSWORD

該命令之後會提示輸入原密碼,輸入正確後即可修改。
例如,設定root使用者的密碼為123456,則

mysqladmin -u root -p password 123456

使用GUI操作MySQL

增加資料
insert 語句可以用來將一行或多行資料插到資料庫表中, 使用的一般形式如下:

Insert into 表名(欄位列表) values (值列表);

insert [into] 表名 [(列名1, 列名2, 列名3, …)] values (值1, 值2, 值3, …);

insert into students values(NULL, “張三”, “男”, 20, “18889009876”);

有時我們只需要插入部分資料, 或者不按照列的順序進行插入, 可以使用這樣的形式進行插入:

insert into students (name, sex, age) values(“李四”, “女”, 21);
查詢資料
select 語句常用來根據一定的查詢規則到資料庫中獲取資料, 其基本的用法為:

select 欄位名 from 表名稱 [查詢條件];

查詢學生表中的所有資訊:select * from students;

查詢學生表中所有的name與age資訊:select name, age from students;

也可以使用萬用字元 * 查詢表中所有的內容, 語句: select * from students;
表示式與條件查詢
聚合函式
在這裡插入圖片描述
獲得學生總人數:select count(*) from students

獲得學生平均分:select avg(mark) from students

獲得最高成績:select max(mark) from students

獲得最低成績:select min(mark) from students

獲得學生總成績:select sum(mark) from students
刪除資料

delete from 表名 [刪除條件];

刪除表中所有資料:delete from students;

刪除id為10的行: delete from students where id=10;

刪除所有年齡小於88歲的資料: delete from students where age<88;
更新資料
update 語句可用來修改表中的資料, 基本的使用形式為:

update 表名稱 set 列名稱=新值 where 更新條件;

Update 表名 set 欄位=值 列表 更新條件

使用示例:

將id為5的手機號改為預設的"-": update students set tel=default where id=5;

將所有人的年齡增加1: update students set age=age+1;

將手機號為 13723887766 的姓名改為 “張果”, 年齡改為 19: update students set name=“張果”, age=19 where tel=“13723887766”;
修改表(新增列修改列刪除列)
alter table 語句用於建立後對錶的修改, 基礎用法如下:
5.5.1、新增列

基本形式: alter table 表名 add 列名 列資料型別 [after 插入位置];

示例:

在表的最後追加列 address: alter table students add address char(60);

在名為 age 的列後插入列 birthday: alter table students add birthday date after age;
5.5.2、修改列

基本形式: alter table 表名 change 列名稱 列新名稱 新資料型別;

示例:

將表 tel 列改名為 phone: alter table students change tel phone char(12) default “-”;

將 name 列的資料型別改為 char(9): alter table students change name name char(9) not null;
5.5.3、刪除列

基本形式: alter table 表名 drop 列名稱;

示例:

刪除 age 列: alter table students drop age;
重新命名錶
基本形式: alter table 表名 rename 新表名;

示例:

重新命名 students 表為temp: alter table students rename temp;
刪除表
基本形式: drop table 表名;

示例: 刪除students表: drop table students;
刪除資料庫
基本形式: drop database 資料庫名;

示例: 刪除lcoa資料庫: drop database lcoa;
JDBC訪問MySQL

相關文章