初識資料庫

2021-08-31 16:18:42 字數 4632 閱讀 7990

一、認識資料庫

關係型資料庫: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 的常用術語 資料庫與表是...