考前複習必備MySQL資料庫(關係型資料庫管理系統)

2021-02-15 程式設計師哆啦A夢

大家好,我是魔王哪吒,話不多說,今天帶來的是一篇《考前複習必備MySQL資料庫(關係型資料庫管理系統)》文章,歡迎大家喜歡。

前言

MySQL是一個關係型資料庫管理系統,在web應用方面,MySQL是最好的關係型資料庫管理系統應用軟體之一。

MySQL是一種關係型資料庫管理系統,關係型資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣增加了速度和提高了靈活性。

MySQL所使用的sql語言是用於訪問資料庫的最常用標準化語言,由於其體積小,速度快,總體擁有成本低,開放源碼,一般中小型網站的開發選擇MySQL作為網站資料庫。

應用環境

和其他的大型資料庫例如Oracle,DB2,SQL Server等相比,MySQL也有自己的不足,但是這也沒有減少它受歡迎的程度,對於一般的個人使用者和中小型企業來說,MySQL提供的功能是綽綽有餘。

Linux作為作業系統,Apache或Nginx作為Web伺服器,MySQL作為資料庫,PHP/Perl/Python作為伺服器端腳本解釋器。

應用架構

單點(Single),適合小規模應用複製(Replication),適合中小規模應用集群(Cluster),適合大規模應用

索引功能從理論上來說,完全可以為數據表裡的每個欄位分別建一個索引,但MySQL把同一個數據表裡的索引總數限制為16個。

InnoDB 數據表的索引

限制

索引類別

普通索引,普通索引(由關鍵字 KEY 或 INDEX 定義的索引)的任務是加快對數據的訪問速度。

索引,普通索引允許被索引的數據列包含重複的值。

主索引,必須為主鍵欄位創建一個索引,這個索引就是所謂的「主索引」。

外鍵索引,如果為某個外鍵欄位定義了一個外鍵約束條件,MySQL就會定義一個內部索引來幫助自己以最有效率的方式去管理和使用外鍵約束條件。

複合索引,索引可以覆蓋多個數據列,如像 INDEX (columnA, columnB) 索引。這種索引的特點是 MySQL 可以有選擇地使用一個這樣的索引。

初學基礎

連接MySQL,格式:

mysql -h 主機地址 -u 用戶名 -p 用戶密碼

連接到本機上的MySQL,首先打開DOS窗口,進入目錄mysqlbin,輸入mysql -uroot -p,回車後提示你輸密碼。

連接遠程主機上的MySQL,遠程主機的IP,和用戶名root,密碼。

命令:mysql -h遠程主機ip -uroot -p密碼

退出mysql命名:exit回車,但是注意,想要成功連接到遠程主機,需要在遠程主機打開mysql遠程訪問權限。

mysql和sqlite的區別

mysql是web世界中使用最廣泛的資料庫伺服器。mysql是為伺服器端設計的資料庫,能承受高並發訪問,同時佔用的內存也遠遠大於SQLite。

SQLite的特點是輕量級,可嵌入,但不能承受高並發訪問,適合桌面和移動應用。

把資料庫默認的編碼全部改為UTF-8

MySQL的配置文件默認存放在/etc/my.cnf或者/etc/mysql/my.cnf:

代碼如下:

[client]default-character-set = utf8
[mysqld]default-storage-engine = INNODBcharacter-set-server = utf8collation-server = utf8_general_ci

重啟mysql後,可以通過mysql的客戶端命令行檢查編碼。

複習必備

MySQL資料庫管理方法,掌握資料庫的初始化,創建,查看,和刪除方法。學習數據表管理方法,掌握數據表的創建,查看,修改和刪除方法。

用戶帳戶的管理,用戶的創建,與刪除,用戶權限的授予與回收,用戶密碼的設置與更改方法。

目錄複習

為了方便查看學習,我做了思維導圖,如下圖所示:

mysql資料庫管理資料庫進行初始化

初始化資料庫,在安裝好mysql資料庫後,不要直接啟動,需要對資料庫進行初始化。

初始化的過程

創建元數據表

數據目錄

創建root用戶

mysql提供資料庫命令:

mysql --initialize進行初始化

初始化完成後,可以啟動資料庫,啟動資料庫有兩種方式。

利用windows伺服器管理界面啟動;

利用mysql命令啟動。

利用mysql命令方式啟動資料庫:

按windows+r組合鍵,打開窗口,進入命令行;

使用cd命令進入mysql目錄;

輸入bin\mysqld,啟動mysql服務。

啟動資料庫

使用bin\mysql -u root -p命令進入mysql操作環境中。

服務圖片,開啟資料庫:

創建資料庫

我們來創建一個資料庫,create database語句。

語法格式如下:

create database [db_name];

創建一個名為web的資料庫:

在資料庫創建好後,mysql的data目錄下會自動生成一個名為web的目錄,該資料庫的數據會存儲於該目錄下。

在mysql中可以支持運行多個資料庫,所以我們可以創建多個資料庫。

查看資料庫

資料庫創建好後,使用show語句查看當前mysql中有哪些資料庫。

刪除資料庫

使用drop語句刪除資料庫,語法格式如下:

刪除創建的web資料庫,命令如下:

刪除資料庫是一個不可逆的操作。

mysql數據表管理

創建數據表使用create table語句,語法格式如下。

user 資料庫名;create table 表名 (欄位名 類型(長度),欄位名 類型(長度));

創建表語句:

明確數據表的結構;

名欄位的名稱;

類型;

長度等。

查看數據表

查看表分:

查看資料庫中包含哪些表

查看某個表的具體結構

使用的語句有show語句和describe語句。

使用describe語句可以查看表的各個欄位名稱,類型,長度,是否非空,是否有主鍵,默認值以及備註等信息。

修改數據表

可以修改表名,欄位名,欄位類型等表結構,可使用alter語句來實現修改操作。

修改表名

修改表名的語句:

alter table 舊錶名 rename 新表名;

修改數據表student改變為student1。

alter table student rename student1

修改欄位名

修改欄位名的語法格式如下:

alter table 表名 change 舊屬性名 新屬性名 新數據類型;alter table student1 change name s_anme varchar(50);

修改欄位類型

修改欄位類型的語法格式:

alter table 表名 modify 屬性名 數據類型;alter table student1 modify name varchar(32);

增加欄位

增加欄位的語法格式如下:

alter table 表名 add 屬性名 數據類型;alter table student1 add sex char(1);

刪除欄位

刪除欄位語句:

示例:

alter table student1 drop sex;

刪除數據表

使用drop語句刪除資料庫中的表。

或者是

刪除某個數據中的某個表:

use test;drop table student;

或者是

mysql用戶管理

mysql提供了一套完善的資料庫用戶以及權限管理系統。

創建和刪除用戶

創建用戶

使用create語句創建用戶:

create user 'username'@'host' idendified by 'password';

username表示為創建的用戶名,host指定該用戶在哪個主機上可以登錄。

create user 'test1'@'localhost' idendified by '1234';create user 'test3'@'122.xxx' idendified by '1234';

用戶刪除

使用drop語句可以刪除用戶,語法格式:

drop user 'username'@'host';

示例如下:

drop user 'test1'@'localhost';

授予與回收用戶權限授予用戶權限

grant語句可以對用戶進行授權:

grant privileges on dbname.tablename TO 'username'@'host';

privileges表示要授予用戶的操作權限。

grant select, insert on mysql.test TO 'test1'@'%';

表示授權用戶test1在所有登錄主機均對mysql庫的test表擁有select和insert權限。

grant all on *.* TO 'test2'@'localhost';

表示授權用戶test2在本地主機資料庫的所有庫的所有表擁有所有權限。

回收用戶權限

使用revoke語句可以對權限進行回收。

revoke privileges on databasename.tablename from 'username'@'host';

示例:

revoke select on *.* from 'test2'@'localhost';

設置與更改用戶密碼

使用mysql所提供的密碼設置與更改語句,語法格式:

set password for 'username'@'host' = password('newpassword');

username表示要設置或更改密碼的用戶名;

host指定該用戶的登錄主機;

newpassword表示要設置或更改的密碼。

示例:

set password for 'test1'@'localhost' = password('12345');

什麼是資料庫

資料庫是按照數據結構來組織,存儲和管理數據的倉庫。每個資料庫都有一個或多個不同的api用於創建,訪問,管理,搜索,複製所保存的數據。

將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。

術語

資料庫是一些關聯表的集合。

數據表是數據的矩陣。

列,一列包含了相同類型的數據。

行,一行是一組相關的數據。

冗餘,存儲兩倍數據,冗餘降低了性能,但提高了數據的安全性。

主鍵,是唯一的,一個數據表中只能包含一個主鍵。

外鍵,用於關聯兩個表。

複合鍵,將多個列作為一個索引鍵,一般用於複合索引。

索引,使用索引可以快速訪問資料庫中的特定信息。

參照完整性,參照的完整性要求關係中不允許引用不存在的實體。

一個關係型資料庫由一個或數個表格組成:表頭,行,列,鍵,值。

表頭為每一列的名稱,列為具有相同數據類型的數據的集合,行為每一行用來描述某條記錄的具體信息,值為行的具體信息,每個值必須與該列的數據類型相同,鍵的值在當前列中具有唯一性。

MySQL 下載地址為:MySQL 下載https://dev.mysql.com/downloads/mysql/

安裝 MySQLhttps://dev.mysql.com/downloads/repo/yum/

Mysql安裝成功後,默認的root用戶密碼為空,可以使用以下命令來創建root用戶的密碼:

[root@host]# mysqladmin -u root password "new_password";

登錄Mysql

命令行:mysql -h 主機名 -u 用戶名 -p

運行mysql服務:

mysql -h localhost -u root -p

MySQL PHP 語法

PHP Mysqli函數格式如下:

mysqli_function(value,value,...);mysqli_connect($connect);mysqli_query($connect,"SQL 語句");mysqli_fetch_array()mysqli_close()

使用 PHP 腳本連接 MySQL

mysqli_connect() 函數來連接資料庫

語法:

mysqli_connect(host,username,password,dbname,port,socket);

參數說明:

host為主機或ip地址;

username為mysql用戶名;

password為mysql密碼;

dbname為默認使用的資料庫;

port嘗試連接到mysql伺服器的埠號;

語法:

bool mysqli_close ( mysqli $link )

連接mysql伺服器:

<?php$dbhost = 'localhost';  $dbuser = 'root';            $dbpass = '123456';          $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){    die('Could not connect: ' . mysqli_error());}echo '資料庫連接成功!';mysqli_close($conn);?>

mysql創建資料庫

使用create命令創建資料庫,語法:

使用php腳本創建資料庫

語法:mysqli_query(connection,query,resultmode);

connection為要使用的mysql連接;

query為查詢字符串;

resultmode一個常量,值MYSQLI_USE_RESULT和MYSQLI_STORE_RESULT。

使用PHP來創建一個資料庫

代碼:

<?php$dbhost = 'localhost';  $dbuser = 'root';            $dbpass = '123456';          $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){  die('連接錯誤: ' . mysqli_error($conn));}echo '連接成功<br />';$sql = 'create database web';$retval = mysqli_query($conn,$sql );if(! $retval ){    die('創建資料庫失敗: ' . mysqli_error($conn));}echo "資料庫 web 創建成功\n";mysqli_close($conn);?>

drop命令刪除資料庫

drop命令格式:

使用php腳本刪除資料庫

語法

mysqli_query(connection,query,resultmode);

使用PHP mysqli_query函數來刪除資料庫:

刪除資料庫:

<?php$dbhost = 'localhost:3306';  $dbuser = 'root';            $dbpass = '123456';          $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){    die('連接失敗: ' . mysqli_error($conn));}echo '連接成功<br />';$sql = 'DROP DATABASE web';$retval = mysqli_query( $conn, $sql );if(! $retval ){    die('刪除資料庫失敗: ' . mysqli_error($conn));}echo "資料庫 web 刪除成功\n";mysqli_close($conn);?>

使用PHP腳本選擇MySQL資料庫

使用函數mysqli_select_db來獲取一個資料庫

語法:

mysqli_select_db(connection,dbname);

示例:

mysqli_select_db函數來選取一個資料庫:

選擇資料庫

<?php$dbhost = 'localhost:3306';  $dbuser = 'root';            $dbpass = '123456';          $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){    die('連接失敗: ' . mysqli_error($conn));}echo '連接成功';mysqli_select_db($conn, 'web' );mysqli_close($conn);?>

MySQL 數據類型

mysql支持多種類型,分三類:

數值;

日期/時間;

字符串類型。


MySQL 5.0 以上的版本

1、一個漢字佔多少長度與編碼有關:

UTF-8:一個漢字=3個字節GBK:一個漢字=2個字節

2、varchar(n) 表示 n 個字符,無論漢字和英文,Mysql 都能存入 n 個字符,僅是實際字節長度有所區別

3、MySQL 檢查長度,可用 SQL 語言來查看

MySQL 創建數據表

表名

表欄位名

定義每個表欄位

語法:

創建mysql數據表的sql語法。

CREATE TABLE table_name (column_name column_type);

在資料庫中創建數據表:

create table if not exists `table_tb` (    `table_id` int unsigned auto_increment,    `table_title` varchar(100) not null,    `table_author` varchar(40) not null,    `table_date` date,    primary key (`table_id`))engine=InnoDB default charset = utf8;

注意:在auto_increment定義列為自增的屬性,一般用於主鍵,數值會自動加1,。engine設置存儲引擎,charset設置編碼。

創建數據表

代碼:

<?php$dbhost = 'localhost:3306';  $dbuser = 'root';            $dbpass = '123456';          $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){    die('連接失敗: ' . mysqli_error($conn));}echo '連接成功<br />';$sql = "create table table_tbl( ".        "table_id int not null auto_increment, ".        "table_title varchar(100) not null, ".        "table_author varchar(40) not null, ".        "submission_date DATE, ".        "primary key ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";mysqli_select_db( $conn, 'RUNOOB' );$retval = mysqli_query( $conn, $sql );if(! $retval ){    die('數據表創建失敗: ' . mysqli_error($conn));}echo "數據表創建成功\n";mysqli_close($conn);?>

MySQL 欄位屬性應該儘量設置為 NOT NULL

首先,考慮空值「」和null的概念:

空值是不佔用空間的

mysql中null其實是佔用空間的


MySQL刪除數據表

語法,刪除mysql數據表的語法:

使用PHP腳本刪除數據表

語法:

mysqli_query(connection,query,resultmode);

使用了PHP腳本刪除數據表:

<?php$dbhost = 'localhost:3306';  $dbuser = 'root';            $dbpass = '123456';          $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){  die('連接失敗: ' . mysqli_error($conn));}echo '連接成功<br />';$sql = "drop table table_tb1";mysqli_select_db( $conn, 'web' );$retval = mysqli_query( $conn, $sql );if(! $retval ){  die('數據表刪除失敗: ' . mysqli_error($conn));}echo "數據表刪除成功\n";mysqli_close($conn);?>

MySQL 插入數據

mysql數據表插入數據通用insert into語法:

insert into table_name(field1,field2,...fieldN)    values    (value1,value2,...valueN);


添加數據

代碼:

<?php$dbhost = 'localhost:3306';  $dbuser = 'root';            $dbpass = '123456';          $conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){  die('連接失敗: ' . mysqli_error($conn));}echo '連接成功<br />';mysqli_query($conn , "set names utf8"); $table_title = '學習';$table_author = 'web';$submission_date = '2018-03-06'; $sql = "insert into table_tbl ".        "(table_title,table_author, submission_date) ".        "values ".        "('$table_title','$table_author','$submission_date')"; mysqli_select_db( $conn, 'web' );$retval = mysqli_query( $conn, $sql );if(! $retval ){  die('無法插入數據: ' . mysqli_error($conn));}echo "數據插入成功\n";mysqli_close($conn);?>

INSERT 插入多條數據

INSERT INTO table_name (field1, field2,...fieldN) VALUES (valueA1,valueA2,...valueAN),(valueB1,valueB2,...valueBN),(valueC1,valueC2,...valueCN).;

SQL基本語法

學習sql語句和mysql基本數據類型,學習掌握數據插入,修改,刪除的sql語句,查詢語句,以及各類特定的查詢語句。

學會資料庫事務的概念,特性以及使用方法。

sql的目錄也整理一個思維導圖:

sql語句簡介結構化查詢語言簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係資料庫系統。

sql 語句就是對資料庫進行操作的一種語言。

sql分三種類型:

DDL語句,數據定義語句,定義了不同資料庫,表,列,索引等資料庫對象。

DML語句,數據操作語句,用於添加,刪除,更新和查詢資料庫記錄,並檢查數據完整性。

DCL語句,數據控制語句,定義資料庫,表,欄位,用戶的訪問權限和安全級別。

mysql基本數據類型

mysql提供了多種數據類型,包括數值類型,字符串類型,日期和時間類型。

數值類型

字符串類型

日期和時間類型


數值類型

mysql的數值類型:

整數類型

浮點數類型

定點數類型

整數類型:

tinyint

small int

medium int

int

big int

浮點數類型:

float

double

定點數類型:

decimal


整數類型的劃分是根據存儲空間的大小和表示範圍的大小來劃分

浮點類型是用來表示實數的一種方法,根據位數和精度,浮點類型分單精浮點數(8位精度)和雙精浮點數(16位精度)。

字符串類型提供了多種字符串類型:

char

varchar

binary

varbinary

blob

text

enum

set


char與varchar

char定義固定長度字符串

varchar定義可變長度字符串

char的長度固定為創建表時聲明的長度,其取值範圍為0到255,當保存char值時,在右邊填充空格以達到指定的長度。

當檢索到char值時,其尾部的空格會被刪除,所以在存儲時,一般字符串右邊不能有空格。如果字符串右邊有空格,在查詢出來後會被刪除。

varchar的長度可以指定為0到6535,varchar值在保存時只保存需要的字符串,並另外加一個字節來記錄長。

binary與varbinary

binary和varbinary用來存儲二進位字符串。沒有字符集,並且會排序和比較基於列值字節的數值。

text與blob

text和blob是以對象類型保存的文本與二進位。

text視為足夠大的varchar,將blob視為足夠大的varbinary,但text和blob與varchar和varbinary的不同之處:

當保存或檢索blob和text的值時不刪除尾部空格。

在比較時,會用空格對text進行擴充以適應比較的對象。

對於blob和text的索引,必須制定索引前綴的長度。

blob和text不能有默認值。

對弈text和blob對象的最大字符串長度由其類型確定。

text分為tinytext,text,mediumtext和longtext四種類型。

blog分為tinyblob,blob,mediumblob和longblob四種類型。

enum

enum表示枚舉類型,它的取值範圍需要在創建表時通過枚舉方式顯式制定。enum是忽略大小寫的。enum只允許從值集合中選取單個值,不能一次選取多個值。

set

set是一個集合對象,可以包含0到64個成員,其所佔存儲空間的大小是因集合成員數量的不同而有所不同的。

日期和事件類型

提供了多種日期和時間類型:

year

time

date

datetime

timestamp

日期格式,year,YYYY;time,HH:MM:SS;date,YYYY-MM-DD;datetime,YYYY-MM-DD HH:MM:SS,timestamp,YYYY-MM-DD HH:MM:SS。

數據插入
insert into 表名 values (值1,值2,...);insert into 表名 (列1,列2,...) values (值1,值2);

在mysql中,insert語句,可以一次性插入多條記錄,語法格式如下。

insert into 表名 (列1,列2,...) values (值1,值2,...), (值1,值2,...),...;

數據修改通過update命令進行修改:
update 表名 set 列名 = 新值 whert 列名 = 某值;update 表1,表2,...set 表1.列1,表2.列2,...where 條件;

數據刪除

可以使用delete命令進行刪除:

delete from 表名 where 列名=值;

delete命令可以一次刪除多個表的數據:

delete 表1,表2,... from 表1,表2,...where 條件;

數據查詢

最基本的select語句的語法格式:

select 欄位 from 表名 where 條件;

條件查詢

條件查詢的語句:

select 欄位 from 表名 where 條件;

聯合查詢

union操作符

union操作符用於合併兩個或多個select語句的結果集。

代碼:

select 條件 from 表1unionselect 條件 from 表2;


union和union all的主要區別

union all用於將結果集直接合併在一起。

union用於將union all後的解構進行一次distinct,以刪除重複結果記錄。


不重複查詢

語法格式如下:

select distinct 欄位 from 表名;

模糊查詢

語法格式:

select 欄位 from 表名 where 欄位 like 值;

%的使用,用來匹配0個或多個字符,可以匹配任意類型和長度的字符,對長度沒有限制。

「_」的使用,用來匹配任意單個字符,常用來限制表達式的字符長度。

排序查詢

使用order by關鍵字來排序:

select 欄位 from 表名 where 條件 order by field1 desc/asc, field2 desc/asc, ...;

排序方式:desc表示降序排列,asc表示升序排序。默認值為asc。

order by後面可以跟多個不同的排序欄位。

限制查詢

使用limit關鍵字進行限制查詢,格式:

select 欄位 limit 起始偏移量,行數;

聚合

聚合語句格式:

select 欄位 op_name from 表名 where 條件 group by filed1, filed2, ... with rollup having 條件;

op_name表示要進行的聚合操作,就是聚合函數。

聚合函數:

sum函數求和

count函數記錄數

max函數最大值

min函數最小值

groupby表示要進行分類聚合的欄位

with rollup表示是否對分類聚合後的結果進行在匯總

having表示對分類後的結果進行條件過濾


連接內連接

內連接查詢是指所有查詢的結果都能夠在連接的表中有對應記錄。在默認情況下是內連接,可以不寫join關鍵字,或者寫inner join。

join分三類:

inner join:獲取兩個表中欄位匹配關係的記錄。

left join:獲取左表所有記錄,即使右表沒有對應匹配的記錄。

right join:用於獲取右表所有記錄,即使左表沒有對應匹配的記錄。

左連接和右連接

左連接是指以左邊的表的數據為基準,去匹配右邊的表的數據。

如果匹配到相應數據,則顯示匹配結果

如果匹配不到相應數據,就顯示為null

左連接的關鍵字:left join。右連接的關鍵字:right join。

右連接反之。

事務

事務概述:事務,一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種數據項的一個程序執行單元。

事務由事務開始和事務結束之間執行的全體操作組成。

事務就是一組由sql語句組成的業務邏輯,只有事務內的所有sql語句都成功執行,整個事務才算成功,否則就是失敗。

事務的四大特性

原子性

一致性

隔離性

持久性

事務提交

默認情況下,sql語句是自動提交的,每條sql語句在執行完畢後會 自動提交事務,要想統一提交事務,需要先關閉mysql的自動提交功能。

查看資料庫是否開啟自動提交:

show variables like 'autocommit';

使用命令關閉自動提交:

命令手動進行事務提交:

事務回滾

事務中已執行成功的語句結果應該回退至未執行狀態,稱為事務回滾。

事務回滾:

事務隔離級別

事務的並發讀問題

髒讀:讀取到另一個事務未提交數據;

不可重複讀:兩次讀取不一致;

幻讀(虛讀):讀到另一事務已提交數據。


開始事務

事務以begin transaction開始:

格式:

begin transaction <事務名稱> |@ <事務變量名稱>

語法說明如下:

@<事務變量名稱>由用戶定義的變量,必須用char,varchar,nchar或nvarchar數據類型來聲明該變量。

begin transaction語句的執行。

提交事務

commit表示提交事務,即提交事務的所有操作。

撤銷事務

rollback表示撤銷事務,即在事務運行的過程中發生了某種故障,事務不能繼續執行,系統將事務中對資料庫的所有已完成的操作全部撤銷,回滾到事務開始時的狀態。

語法格式:

MySQL 正則表達式

^匹配輸入字符串的開始位置。

$匹配輸入字符串的結束位置。

[...]字符集合。匹配所包含的任意一個字符。

[^...]負值字符集合。匹配未包含的任意字符。

*匹配前面的子表達式零次或多次。

+匹配前面的子表達式一次或多次。

{n}n 是一個非負整數。匹配確定的 n 次。

{n,m}m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。

sql語句

sql語句:

select lastname from persons

select從資料庫表中獲取數據

update更新資料庫表中的數據

delete從資料庫表中刪除數據

insert into向資料庫表中那個插入數據

DDL語句

create database創建新資料庫

alter database修改資料庫

create table創建新表

drop table刪除表

alter table變更資料庫表

create index創建索引

drop index刪除索引


語句

SELECT 語句用於從表中選取數據。

SELECT 列名稱 FROM 表名稱SELECT * FROM 表名稱SELECT LastName,FirstName FROM PersonsSQL SELECT DISTINCT 語句

在表中,可能會包含重複值。關鍵詞 DISTINCT 用於返回唯一不同的值。

語法:

SELECT DISTINCT 列名稱 FROM 表名稱

WHERE 子句用於規定選擇的標準。

SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值

操作符描述=等於<>不等於>大於<小於>=大於等於<=小於等於BETWEEN在某個範圍內LIKE搜索某種模式

如果第一個條件和第二個條件都成立,則 AND 運算符顯示一條記錄。

如果第一個條件和第二個條件中只要有一個成立,則 OR 運算符顯示一條記錄。

ORDER BY 語句用於對結果集進行排序。

INSERT INTO 語句

INSERT INTO 表名稱 VALUES (值1, 值2,....)INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

Update 語句用於修改表中的數據。

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

DELETE 語句用於刪除表中的行。

DELETE FROM 表名稱 WHERE 列名稱 = 值

總結

資料庫的發展歷程:

網狀型資料庫

層次型資料庫

關係資料庫

面向對象資料庫

關係資料庫:

桌面資料庫

客戶/伺服器資料庫

數據表是存儲數據的邏輯單元。

數據表中,一行稱為一條記錄,一列稱為一個欄位。

主鍵:唯一標識此條記錄。

後記

掃碼關注公眾號,訂閱更多精彩內容。

推薦文章:

相關焦點

  • day06-python資料庫-mysql之安裝
    資料庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可為各種用戶共享什麼是資料庫管理系統(DataBase Management System 簡稱DBMS)在了解了Data與DB的概念後,如何科學地組織和存儲數據,如何高效獲取和維護數據成了關鍵,這就用到了一個系統軟體---資料庫管理系統,如
  • MySQL資料庫及應用
    關鍵字(主碼或主鍵)答案: B5 單選 一個資料庫中往往包含多個關係,一個資料庫中這些關係的集合稱之為___________。A. 關係組合B. 關係集合C.查詢答案: A7 單選 資料庫、資料庫管理和資料庫系統之間的關係正確的是A. 資料庫包括了資料庫管理系統和資料庫系統B. 資料庫管理系統包括了資料庫和資料庫系統C.
  • 科普:常見的資料庫管理系統有哪些?MySQL有哪些特點?
    資料庫技術進過多年的發展,已經發展到資料庫系統系統階段,數據會存儲到資料庫(DateBase,DB)中,資料庫相當於存儲數據倉庫。為了並與用戶組織和管理數據,專門提供了資料庫管理系統,他可以有效管理資料庫中的數據,資料庫和資料庫管理系統是兩個概念不要混淆。
  • 零基礎學Java之MySQL資料庫,第一講:基礎知識
    資料庫類型 資料庫經過幾十年的發展,出現了多種類型。根據數據的組織結構不同,主要分為網狀資料庫、層次資料庫、關係型資料庫和非關係型資料庫四種。目前最常見的資料庫模型主要是:關係型資料庫和非關係型資料庫1. 關係型資料庫 關係型資料庫模型是將複雜的數據結構用較為簡單的二元關係(二維表)來表示,如圖1-4所示。
  • Mysql資料庫的使用方法
    你們讚賞就是對小編的鼓勵,都是你們的心意,小編收到了,在這邊感謝你們,謝謝    現在看軟體測試的招聘要求,基本都是要求會資料庫這一塊的,薪水越高所具備的技能也要越多,而資料庫知識則是一項必備技能了,所以今天小編就好好的普及下資料庫知識方面的基本使用方法!
  • 如何使用MySQL資料庫
    一、訪問MySQL資料庫1.登錄到MySQL伺服器經過安裝後的初始化,MySQL資料庫默認管理員用戶名為root,密碼為空。若要以未設置密碼的root用戶登錄本機的MySQL資料庫,可執行以下操作:上面是沒密碼登錄,那麼如何設置資料庫用戶的密碼呢?在linux命令環境中,一般使用mysqladmin工具來設置密碼。
  • 了解資料庫類型及MySQL資料庫常用命令行
    一、資料庫1、資料庫DataBase(DB):存儲數據的倉庫。2、資料庫的分類(1) 關係型資料庫(sql資料庫):中型:mysql(埠號3306)、sql server大型:Oracle(埠號1521)(2) 非關係型資料庫(no-sql資料庫)
  • Spring JDBC訪問關係型資料庫
    Spring JDBC訪問關係型資料庫吧。目標使用Spring JDBC訪問關係型資料庫,在Java代碼中執行資料庫增刪改查操作環境準備JDBCpackage main;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet
  • 基於MySQL的高性能資料庫應用開發
    作者查閱了MySQL的相關文檔,發現MySQL是GNU軟體(即OpenSource自由軟體)中非常優秀的資料庫系統,它完全符合SQL92 (Entry level)和 ODBC( level 0-2)規範,在符合POSIX規範的作業系統上實現了非常高效的關係型資料庫管理系統。
  • Python 資料庫騷操作 -- MySQL
    ,前面兩篇分別是:《Python 資料庫騷操作 -- MongoDB》《Python 資料庫騷操作 -- Redis》,這篇主要介紹 MySQL 的 orm 庫 SQLAlchemy 。Object Relational Mapper,描述程序中對象和資料庫中數據記錄之間的映射關係的統稱。介紹完了,那就走起唄!MySQL GUI 工具首先介紹一款 MySQL 的 GUI 工具 Navicat for MySQL,初學 MySQL 用這個來查看數據真的很爽。可以即時看到數據的增刪改查,不用操作命令行來查看。Navicat for MySQL
  • MySQL資料庫測試題
    >資料庫中,以下哪條語句是取第2頁中的數據?test(資料庫名已經存在)中的表結構和數據?(難度A)A、在DOS提示符下輸入以下命令mysql -uroot -p1234 test<d:/db.sql B、在DOS提示符下輸入以下命令mysqldump -uroot -p1234 test<d:/db.sql
  • MYSQL資料庫操作案例
    MySQL 創建資料庫CREATE DATABASE 資料庫名;以下命令簡單的演示了創建資料庫的過程,數據名為 RUNOOB:[root@host]# mysql -u root -p >Enter password:****** # 登錄後進入終端mysql> create DATABASE RUNOOB;MySQL 刪除資料庫drop database <資料庫名>;
  • ASP.NET實戰002:MySQL資料庫連接
    資料庫管理系統資料庫是用來存放數據的倉庫,它擁有很大的存儲空間,可以用來存放我們系統的所有數據。而資料庫管理系統(DBMS)是為管理資料庫而設計的系統,可以對文件中的數據進行新增、截取、更新、刪除、查詢、備份等操作,最主要是安全可靠、靈活高效、性能優越。
  • python對mysql資料庫的操作(一)
    本文章介紹python對mysql資料庫的基本操作,以及編寫一個模擬用戶的註冊。
  • MySQL分支資料庫MariaDB之CentOS安裝教程
    MariaDB資料庫管理系統是MySQL的一個分支,由MySQL的創始人Michael Widenius主持開發。採用GPL授權許可 MariaDB的目的是完全兼容MySQL,包括API和命令行,在存儲引擎方面,使用XtraDB(英語:XtraDB)來代替MySQL的InnoDB。
  • 一文搞定「關係型資料庫」與「非關係型資料庫」
    那個時期的關係型資料庫得到了較為廣泛的關注和應用,網站訪問量談不上什麼高並發、更別說什麼用戶體驗了,能玩得起就已經是完勝上億中國人了。然而,由於數據量級很大而且包含有大量的無規律的數據,而我們如果想要更好的利用這些數據,就要做好對數據的處理和存儲,如果還僅僅依賴關係型資料庫顯然是不太現實的,因此,非關係型資料庫(NoSQL)就應運而生了(好像所有技術都是這麼來的,技術誕生通常是為了要解決企業某些業務需求),先來看看什麼是非關係型資料庫
  • MySQL教程之MySQL定時備份資料庫
    一、MySQL數據備份1.1、 mysqldump命令備份數據在MySQL中提供了命令行導出資料庫數據以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現資料庫內容的導出dump,首先我們簡單了解一下mysqldump命令用法:
  • MySQL資料庫接口的VC實現與應用(1)
    眾所周知,所有的網上信息都是儲存在網站資料庫中的,這些信息的查詢、更新等操作的功能則是由資料庫伺服器提供的,顯然,資料庫伺服器的性能將直接關係到網站的生存。網站搭建中用的最多的資料庫伺服器是oracle和MySQL,前者功能強大,屬於旗艦型資料庫伺服器,但前期投入太大;後者功能不斷完善,簡單易用而又不失性能,並且可以免費獲得。
  • 利用PowerDesigner連接Mysql資料庫並逆向所有表關係圖兩種方式
    想想還是從資料庫入手吧。於是想到了在2015年還是2016年的時候在梳理其他項目使用了powerDesigner連接mysql逆向生成表關係圖。可是當時怎麼做的?徹底忘了。常言:好記性不如爛筆頭,況且我這個沒記性的人了。所以就有了本文。為了以後在用有個參考,也為了有需要的朋友做個參考。好了,廢話不多說。開始幹。
  • MySQL資料庫操作語法詳解
    create_specification中指定了創建資料庫特性。資料庫特性存放在資料庫目錄下的db.opt文件中,一般在資料庫安裝目錄的data/db_name/子目錄下。CHARACTER SET子句指定了資料庫默認的字符集,COLLATE子句指定了資料庫默認校對。