一、認識資料庫
關係型資料庫:mysql資料庫、oracle、sql server資料庫等。
非關係型資料庫:mongodb、redis等。
其中mysql資料庫是現在應用非常廣泛的的資料庫:
主要優勢如下:
資料庫管理系統和資料庫系統,是兩個不同的概念!
資料庫管理系統(database management system, dbms )是一種軟體,由乙個互相關聯的資料集合和一組訪問資料的程式構成,通常我們都叫資料庫管理系統為資料庫!
主要功能是維護資料庫。
資料庫系統(database system,dbs)是乙個實際可以執行的系統,可以對系統提供的資料進行儲存,維護和應用!
資料冗餘和資料完整性:
在資料庫系統中,資料重複就是資料冗餘。
資料完整性就是指資料庫中資料的準確性。
資料庫中的主鍵和外來鍵:
主鍵(primary key):在資料庫中,有這樣一列,可以用來唯一標識表中的每一行,用於強制表的實體完整性,這樣的列就是表的主鍵!
如果兩列或者多列組合起來唯一標識表中的每一行,那麼這個主鍵就叫做復合主鍵!!!
外來鍵(foreign key):是用來引用主表中的資料,是相對於主鍵而言的。外來鍵用來強制引用完整性,乙個表裡面可以有多個外來鍵。
二、使用資料庫
1.使用命令檢查資料庫是否啟動:
2.連線資料庫:
注意:如果是在本機操作,不用寫-h.....-p和密碼之間沒有空格!!!
3.檢視當前安裝的mysql版本資訊和連線使用者名稱:
其中version()返回的是版本號:如 5.5.20 , user()返回的是連線資料庫的使用者名稱:如 root@localhost.
4.sql:全稱是結構化查詢語言(structured query language),也是關聯式資料庫的標準語言!
5.sql的組成:根據功能劃分,sql語言主要由以下幾個部分組成。
(一)dml (資料操作語言,又叫資料操縱語言):用來插入,修改,刪除資料庫中的資料,如insert ,update,delete等。
(二)ddl (資料定義語言):用來建立資料庫,資料庫物件,定義資料表結構等。大部分是以create 開頭的命令,如create table ,create view 以及drop table等。
(三)dql(資料查詢語言):用來對資料的查詢,如selectdent
(四)dcl (資料控制語言):用來控制資料庫元件的訪問許可,訪問許可權等。如grant ,revoke,commit等。
6.資料庫中的運算子:
(一)算術運算子
運算子說明
+加號運算,求兩個數或表示式的和
-減號運算,求兩個數或表示式的差
*乘號運算,求兩個數或表示式的積
/除號運算,求兩個數或表示式的商
%取模運算,求兩個數或表示式的餘數
(二)賦值運算子
" = 」 表示把乙個數或者變數賦值給另乙個變數。
(三)比較運算子
運算子說明
=等於。如 age=20
>
大於。如 price>9
小於<>
不等於》=
大於等於
<=
小於等於
!=不等於
注意:比較運算子中的計算結果是布林型別,返回值是true或者false
(四)邏輯運算子
運算子說明
and(&&)
並且or(||)
或者not(!)
非,取反,優先順序最高
三、mysql 資料庫的基本操作:
1.對資料庫的基本
create database 資料庫名; #建立資料庫
注意:在windows系統下,預設是不區分大小寫的!分號代表一行結束,一般都加上。
show databases; #檢視所有的資料庫
use 資料庫; #切換資料庫
drop database 資料庫名; #刪除資料庫
2.對資料表的基本操作
(一)資料型別(常用的)
資料型別
位元組數取值範圍
tinyint
1有符號:-2的7次方~2的7次方
無符號:0~2的8次方-1
int4
有符號值:-2的31次方~2的31次方-1
double
8decimal[(m),d]
m+2位元組
m:總位數
d:小數字精度位數
(二)字串型
資料型別
位元組說明
char【m】
m位元組固定長度
m為0~255的整數
varchar[m]
可變長度
可變長度的字串
m為0~65535的整數
tinytext
0~255
微型文字串
text
0~65535
長文字(三)日期型別
資料型別
格式取值範圍
date
yyyy-mm-dd
1000-01-01~9999-12-31
datetime
yy-mm-dd hh:mm:ss
1000-01-01 00:00:00 ~9999-12-31 23:59:59
time
hh:mm:ss
timestamp
yyyymmddhhmmss
2023年某時刻~2023年某時刻,精度為1s
year
yyyy格式的年份
1901~2155
3.建立表
#語法如下:
create table [if not exists] 表名(
欄位名 資料型別 [字段屬性] [約束] [索引] [注釋],
)[表型別][表字符集][注釋];
#注意:裡面的可寫可不寫,根據實際需求去寫就好!
常用的字段屬性約束
字段屬性約束名
關鍵字說明
非空約束
not null
不允許為空null
預設約束
default
預設值設定
格式為:default '男'
或者 default 1
唯一約束
unique key
表示欄位的值是唯一的,允許為空,但只能有乙個為空
主鍵約束
primary key
設定該欄位為表的主鍵,可以作為該錶的唯一的標識
外來鍵約束
foreign key
用於建立兩表之間的關係,需要指定那個表引用哪個字段。
注意:innodb引擎:支援外來鍵,myisam不支援,外來鍵關聯的表要求都是innodb的表。
自動增長
auto_increment
(1)設定該列為自增字段,預設為每條自增1
(2) 通常用來設定主鍵,而且是整數型別
(3) 可設定初始值和步長
補充:設定步長和自增
#設定初始值
auto_increment=5;
#設定步長
auto_increment_increment=3;
#設定步長起點偏移
auto_increment_offset=1;
4.設定主鍵
#建立表
create table student(
`studentno` int(4) primary key, #設定主鍵,``區別保留字
);#多欄位聯合主鍵
create table student(
id int(4),
name varchar(50),
primary key(id,name) #設定聯合主鍵
);
5.檢視表和刪除表
#檢視表
show tables;
#檢視表的定義
desc 表名;
#刪除表
drop table 表名;
6.修改表
#1.修改表名
alter table 舊表名 rename 新錶名;
#2.新增字段
alter table 表名 add 欄位名 資料型別 [屬性];
#3.修改字段
alter table 表名 change 原欄位名 新欄位名 資料型別 [屬性];
#4.刪除字段
alter table 表名 drop 欄位名;
#5.新增主鍵約束
alter table 表名 add constarint 主鍵名 primary key 表名 (主鍵字段);
#6.新增外來鍵約束:
alter table 表名 add constarint 外鍵名 foreign key (外來鍵字段)
references 關聯表名(關聯字段);
#注意:新增外來鍵約束時,外來鍵表在前,主鍵表在後!主鍵是被引用,外來鍵是引用主鍵!
#刪除時要先刪除子表,再刪除主表。
初識資料庫
隨著vb學習任務的結束,我又迎來了新的學習任務 資料庫。剛接觸資料庫真是一頭霧水啊,看哪哪覺得陌生,那麼什麼是資料庫呢?下面蒐集的這些資料希望對我們初學者有所幫助。資料庫,顧名思義就是 資料的倉庫 計算機系統經常用來處理各種各樣的,大量的資料,比如使用計算機系統收集超市裡進出貨的清單,某地區的人口資...
初識資料庫
資料庫安裝 版本 postgres 配置環境變數,path中新增解壓後bin檔案路徑 安裝 執行cmd 解壓資料夾下 執行指令 initdb locale c e utf 8 d 安裝路徑 data 註冊服務 以管理員身份執行cmd 輸入指令 pg ctl register n 服務名稱 d 安裝路...
初識資料庫
一 什麼是資料庫?資料庫就是將資訊規範化並使之電子化,形成電子資訊 庫 以便利用計算機對這些資訊進行快速有效的儲存,檢索,統計與管理。資料庫起源於規範化 表 table 的處理。table 以按行按列形式組織及展現的資料 表中都有什麼呢?table 的構成和關於 table 的常用術語 資料庫與表是...