亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MsSQL數(shù)據(jù)庫基礎(chǔ)與庫的基本操作方法

 更新時間:2025年02月13日 11:08:49   作者:web15085096641  
文章主要介紹了數(shù)據(jù)庫的基礎(chǔ)知識,包括數(shù)據(jù)庫的定義、主流數(shù)據(jù)庫系統(tǒng)(如MySQL、PostgreSQL等)、數(shù)據(jù)庫操作(如創(chuàng)建、修改、刪除數(shù)據(jù)庫,備份和恢復等)以及查看連接情況,感興趣的朋友一起看看吧

一,數(shù)據(jù)庫基礎(chǔ)

1,什么是數(shù)據(jù)庫

存儲數(shù)據(jù)用文件就可以了,為什么還要弄個數(shù)據(jù)庫

文件保存數(shù)據(jù)有以下幾個缺點:

文件的安全性問題

文件不利于數(shù)據(jù)查詢和管理

文件不利于存儲海量數(shù)據(jù)

文件在程序中控制不方便

數(shù)據(jù)庫存儲介質(zhì):

磁盤

內(nèi)存

為了解決上述問題,專家們設(shè)計出更加利于管理數(shù)據(jù)的東西——數(shù)據(jù)庫,它能更有效的管理數(shù)據(jù)。數(shù)據(jù)庫的水平是衡量一個程序員水平的重要指標。

2,主流的數(shù)據(jù)庫

SQL Sever: 微軟的產(chǎn)品,.Net程序員的最愛,中大型項目。

Oracle: 甲骨文產(chǎn)品,適合大型項目,復雜的業(yè)務(wù)邏輯,并發(fā)一般來說不如MySQL。

MySQL:世界上最受歡迎的數(shù)據(jù)庫,屬于甲骨文,并發(fā)性好,不適合做復雜的業(yè)務(wù)。主要用在電商,SNS,論 壇。對簡單的SQL處理效果好。

PostgreSQL :加州大學伯克利分校計算機系開發(fā)的關(guān)系型數(shù)據(jù)庫,不管是私用,商用,還是學術(shù)研究使用,可 以免費使用,修改和分發(fā)。

SQLite: 是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中。它的設(shè) 計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可 能只需要幾百K的內(nèi)存就夠了。

H2: 是一個用Java開發(fā)的嵌入式數(shù)據(jù)庫,它本身只是一個類庫,可以直接嵌入到應(yīng)用項目中。

3,連接服務(wù)器

輸入:

mysql -h 127.0.0.1 -P 3306 -u root -p

一般我們用 mysql -u root -p 就可以了

輸出:

輸入指令后,再輸入密碼即可;

注意:

如果沒有寫 -h 127.0.0.1 默認是連接本地

如果沒有寫 -P 3306 默認是連接3306端口號

4,服務(wù)器,數(shù)據(jù)庫,表關(guān)系

1,所謂安裝數(shù)據(jù)庫服務(wù)器,只是在機器上安裝了一個數(shù)據(jù)庫管理系統(tǒng)程序,這個管理程序可以管理多個數(shù)據(jù)庫, 一般開發(fā)人員會針對每一個應(yīng)用創(chuàng)建一個數(shù)據(jù)庫

2,為保存應(yīng)用中實體的數(shù)據(jù),一般會在數(shù)據(jù)庫中創(chuàng)建多個表,以保存程序中實體的數(shù)據(jù)

3,數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系如下:

5,使用案例

創(chuàng)建數(shù)據(jù)庫

create database helloworld;

使用數(shù)據(jù)庫

use helloworld;

創(chuàng)建數(shù)據(jù)庫表

create table student(
id int,
name varchar(32),
gender varchar(2)
);

表中插入數(shù)據(jù)

insert into student (id, name, gender) values (1, ‘張三', ‘男');
insert into student (id, name, gender) values (2, ‘李四', ‘女');
insert into student (id, name, gender) values (3, ‘王五', ‘男');

查詢表中的數(shù)據(jù)

select * from student;

二,庫的操作

1,創(chuàng)建數(shù)據(jù)庫

語法:

CREATE DATABASE
[IFNOTEXISTS]db_name[create_specification[,create_specification] …]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

說明:

大寫的表示關(guān)鍵字

[ ] 是可選項

CHARACTER SET: 指定數(shù)據(jù)庫采用的字符集

COLLATE: 指定數(shù)據(jù)庫字符集的校驗規(guī)則

2,創(chuàng)建數(shù)據(jù)庫案例

創(chuàng)建名為 db1 的數(shù)據(jù)庫

create database db1;

說明:

當我們創(chuàng)建數(shù)據(jù)庫沒有指定字符集和校驗規(guī)則時,系統(tǒng)使用默認字符集:utf8

校驗規(guī)則是:utf8_ general_ ci

創(chuàng)建一個使用utf8字符集的 db2 數(shù)據(jù)庫

show databases; 指令是查看數(shù)據(jù)庫

創(chuàng)建一個使用utf8字符集的 db2 數(shù)據(jù)庫

create database db2 charset=utf8;

創(chuàng)建一個使用utf字符集,并帶校對規(guī)則的 db3 數(shù)據(jù)庫。

create database db3 charset=utf8 collate utf8_general_ci;

3,字符集和校驗規(guī)則

1,查看系統(tǒng)默認字符集以及校驗規(guī)則

show variables like ‘character_set_database';
show variables like ‘collation_database';

2,查看數(shù)據(jù)庫支持的字符集

show charset;

字符集主要是控制用什么語言。比如utf8就可以使用中文。

3,查看數(shù)據(jù)庫支持的字符集校驗規(guī)則

show collation;

如果想快速知道指定數(shù)據(jù)庫的字符集和校驗集的話:

var/lib/mysql 在這個目錄里面,mysql 的數(shù)據(jù)庫在里面就是一個目錄;

進入想要查看的數(shù)據(jù)庫目錄,里面有文件 db.opt 里面存放了字符集和校驗集;

4,校驗規(guī)則對數(shù)據(jù)庫的影響

不區(qū)分大小寫

創(chuàng)建一個數(shù)據(jù)庫,校驗規(guī)則使用utf8_ general_ ci[不區(qū)分大小寫]

create database test1 collate utf8_general_ci;
use test1;
create table person(name varchar(20));
insert into person values(‘a(chǎn)');
insert into person values(‘A');
insert into person values(‘b');
insert into person values(‘B');

不區(qū)分大小寫的查詢以及結(jié)果

區(qū)分大小寫

創(chuàng)建一個數(shù)據(jù)庫,校驗規(guī)則使用utf8_ bin[區(qū)分大小寫]

create database test2 collate utf8_bin;
use test2
create table person(name varchar(20));
insert into person values(‘a(chǎn)');
insert into person values(‘A');
insert into person values(‘b');
insert into person values(‘B');

一對比一目了然;

結(jié)果排序不區(qū)分大小寫排序以及結(jié)果:

區(qū)分大小寫排序以及結(jié)果:

4,操縱數(shù)據(jù)庫

1,查看數(shù)據(jù)庫

show databases;

database 下面全是數(shù)據(jù)庫;

2,顯示創(chuàng)建語句

說明:

MySQL 建議我們關(guān)鍵字使用大寫,但是不是必須的。

數(shù)據(jù)庫名字的反引號``,是為了防止使用的數(shù)據(jù)庫名剛好是關(guān)鍵字

/*!40100 default… */ 這個不是注釋,表示當前mysql版本大于4.01版本,就執(zhí)行這句話

3,修改數(shù)據(jù)庫

語法:

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]…]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

說明:

對數(shù)據(jù)庫的修改主要指的是修改數(shù)據(jù)庫的字符集,校驗規(guī)則

實例: 將 test1 數(shù)據(jù)庫字符集改成 gbk

4,數(shù)據(jù)庫刪除

DROP DATABASE [IF EXISTS] db_ name;

執(zhí)行刪除之后的結(jié)果:

數(shù)據(jù)庫內(nèi)部看不到對應(yīng)的數(shù)據(jù)庫

對應(yīng)的數(shù)據(jù)庫文件夾被刪除,

級聯(lián)刪除,里面的數(shù)據(jù)表全部被刪

注意:不要隨意刪除數(shù)據(jù)庫

5,備份和恢復

1,備份

語法:

# mysqldump -P3306 -u root -p 密碼 -B 數(shù)據(jù)庫名 > 數(shù)據(jù)庫備份存儲的文件路徑

示例:將 test2 庫備份到文件(退出連接)

# mysqldump -P3306 -u root -p123456 -B mytest > D:/mytest.sql

因為我這個 mytest 數(shù)據(jù)庫是新建的里面沒有東西;

我們看看另一個 D:test2.sql 的;

里面就有很多東西了;

2,還原

mysql> source D:/mysql-5.7.22/mytest.sql;

先刪除原數(shù)據(jù)庫;

還原;

也是成功還原了;

3,注意事項

如果備份的不是整個數(shù)據(jù)庫,而是其中的一張表,怎么做?

# mysqldump -u root -p 數(shù)據(jù)庫名 表名1 表名2 > D:/mytest.sql

同時備份多個數(shù)據(jù)庫

# mysqldump -u root -p -B 數(shù)據(jù)庫名1 數(shù)據(jù)庫名2 … > 數(shù)據(jù)庫存放路徑

如果備份一個數(shù)據(jù)庫時,沒有帶上-B參數(shù), 在恢復數(shù)據(jù)庫時,需要先創(chuàng)建空數(shù)據(jù)庫,然后使用數(shù)據(jù)庫,再使用 source來還原。

6,查看連接情況

語法:

show processlist

可以告訴我們當前有哪些用戶連接到我們的MySQL,如果查出某個用戶不是你正常登陸的,很有可能你的數(shù)據(jù)庫被 人入侵了。以后大家發(fā)現(xiàn)自己數(shù)據(jù)庫比較慢時,可以用這個指令來查看數(shù)據(jù)庫連接情況

到此這篇關(guān)于MsSQL數(shù)據(jù)庫基礎(chǔ)與庫的基本操作的文章就介紹到這了,更多相關(guān)MsSQL數(shù)據(jù)庫基礎(chǔ)與庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論