1. 程式人生 > >初始Mysql

初始Mysql

cte llb 位數 student comm 毫無 倉庫 -- def

Mysql
什麽是數據庫:
定義:按照數據結構來組織,存儲和管理數據的倉庫,我們稱之為數據庫(DataBase,簡稱:DB)這些存儲的數據可以是多種形式:如文字,符號,圖片,視頻,音頻等!
從廣義上來說,我們的txt文件,word文檔,excel文件都可以理解成一個數據庫!
在IT界裏,數據庫指的是由專業技術團隊開發的用於存儲數據的軟件系統!
數據庫設計三大範式
1.第一範式的目標是確保每列的原子性 如果每列都是不可再分的最小數據單元(也稱為最小原子單元),則滿足第一範式(1NF)
2.第二範式要求每個表只能描述一件事情 目標是確保表中的每一列都和主建相關
3.如果一個關系滿足2NF並且除了主建以外的其他列都不傳遞依賴主建列,則滿足第三範式(3NF)

操作數據庫
1.創建數據庫:
CREATE DATABASE 數據庫名;
2.查看數據庫列表:
SHOW DATABASES;
3.選擇數據庫:
USE 數據庫名;
4.刪除數據庫:
DROP DATABASE 數據庫名;

Query ok : 表示sql語句執行成功
1 row affected :表示影響的行數
0.00sec :表示執行時間

用sql語句操作數據表
sql語言以下4個部分
01.DDL(Data Definition Language)數據定義語言。用來創建數據庫中的各種對象。如表,視圖,索引,同義詞等。
創建(create ) 刪除(drop)截斷(truncate)更改 (alter)

02.DQL(Data Query Language)數據查詢語言。 (select 選擇; 挑選) (where 條件) (group by 分組依據

) (having 所有,持有; ) (order by 降序排列)

03.DML(Data Manipulation Language)數據操作語言。插入(Insert) 更新(update) 刪除(delete)

04.DCL(Data Control Language)數據控制語言。授予(grant) 撤消(revoke) 回滾(rollback) 提交(commit)
數據類型
1.確定表中有那些字段。
2.確定每字段的數據類型。
3.給表添加各種約束。(唯一約束 檢查約束 主鍵約束 外鍵約束 默認值約束)
4.創建各表之間的關系。

5.整型 int

6.小數 double 精確度要求高的 ----Decimal(18,4) 22222222211111.3334 對應的java中的類型 BigDecimal

7.字符串:nvarchar(32) varchar char
char :定長字符串(一旦設定了長度,無論真實內容有多少,都要占用指定長度的空間。)
varchar:可變字符串
nvarchar() 防止中文亂碼出現 insert into grade(gradename) values(N‘牛X班‘)

8.日期類型
DateTime yyyy-mm-dd hh:mm:ss.ms

約束添加和刪除

主鍵約束
alter table grade
add constraint PK_GradeId Primary key grade(gradeid)

--刪除主鍵
#取消主鍵列的自增,再刪除主鍵
ALTER TABLE student MODIFY studentno INT

#刪除主鍵
ALTER TABLE student DROP PRIMARY KEY

外鍵約束

alter table student
add constraint FK_Grade_Student_GradeId Foreign key (gradeid) referrences grade(gradeid)

---刪除外鍵 界面上(圖形化界面)直接點擊無效 (1.先用如下命令刪除 2.再點擊鼠標刪除)
alter table student
drop foreign key FK_Grade_Student_GradeId

唯一約束 年級名稱唯一()
alter table grade
add constraint UK_Gradename UNIQUE Key(gradename)
---刪除唯一約束
alter table grade
drop index UK_Gradename

默認值約束
alter table grade
alter column gradename set default ‘X班‘

--刪除語法
alter table grade
alter column gradename drop default

檢查約束 mysql中不起作用
alter table student
add constraint CK_GradeID Check(gradeid<7)

數值類型
tinyint(M) 1字節
smallint(M) 2字節
mediumint(M) 3字節
int(M,D) 4字節
float (M,D) 4字節
double (M,D) 8 字節
Decimal (M,D) M+2字節
M:總位數,取值範圍是1-65,默認值10.
D:小數位,取值範圍是0-30,不能超過M的值!

什麽是引擎?
解析:能讓程序啟動並執行的一個程序,也稱之為驅動。
搜索引擎指自動從因特網搜集信息,經過一定整理以後,提供給用戶進行查詢的系統。
因特網上的信息浩瀚萬千,而且毫無秩序,所有的信息像汪洋上的一個個小島,
網頁鏈接是這些小島之間縱橫交錯的橋梁,而搜索引擎,則為用戶繪制一幅一目了然的信息地圖,
供用戶隨時查閱。它們從互聯網提取各個網站的信息(以網頁文字為主),建立起數據庫,
並能檢索與用戶查詢條件相匹配的記錄,按一定的排列順序返回結果。

初始Mysql