mysql資料庫實戰系列 再入泥坑

2021-10-04 12:05:56 字數 3457 閱讀 8401

sql(structured query language 即結構化查詢語言)

sql語言主要用於訪問資料、查詢資料、更新資料和管理關係資料庫系統,sql語言由ibm開發。

ddl語句 資料庫定義語言: 資料庫、表、檢視、索引、儲存過程,例如create drop alter

ddl(data definition language):

dml語句 資料庫操縱語言: 插入資料insert、刪除資料delete、更新資料update

dml(data manipulation language):

dql語句 資料庫查詢語言: 查詢資料select

dql(data query language )資料查詢語言 select

dcl語句 資料庫控制語言: 例如控制使用者的訪問許可權grant、revoke

dcl(data control language):

執行著資料庫應用程式的裝置

centos+mysql

硬體+系統軟體+mysql軟體

mysql>show   databases ;

information_schema: 虛擬庫,主要儲存了系統中的一些資料庫物件的資訊,例如使用者表資訊、列資訊、許可權資訊、字元資訊等

performance_schema: 主要儲存資料庫伺服器的效能引數

1.提供程序等待的詳細資訊,包括鎖、互斥變數、檔案資訊;

2.儲存歷史的事件彙總資訊,為提供mysql伺服器效能做出詳細的判斷;

3.對於新增和刪除監控事件點都非常容易,並可以隨意改變mysql伺服器的監控週期

mysql: 授權庫,主要儲存系統使用者的許可權資訊

sys: 主要儲存資料庫伺服器的效能引數

sys database中,可以獲取mem page、io 、latch/mutex/lock等各種效能資料,方便做peformance turning 和 troubleshooting。比如可以方便獲取2個sql發生 lock block,使用者占用的資源等資訊。

建立需要的業務主庫...

表的管理單元

​ 記錄的管理單元

​ 資訊的載體,欄位的管理單元

​ 張三,男,23,雲計算工程師,月薪25k

​ 欄位名,字段型別(長度),字段約束組成(可選)

​ 姓名,文字,不能為空

​ 張三

​ 字元,數字,日期

​ 不能為空,自動增長

a.建立業務資料庫

語法create database 資料庫名;

create database discuz;

資料庫名要求

區分大小寫

唯一性不能使用關鍵字如 create select

不能單獨使用數字和特殊符號「如-"

正常的:用拼音或單詞即可。

b.檢視所有資料庫

show databases;

​ use 資料庫名

​ select database();

呼叫函式,查詢當前庫

​ drop database 資料庫名;

​ /var/lib/mysql/

1.數值型別

​ 整數型別 int

​ 浮點數型別 float

​ 小數

2.字串型別

​ 字元系列 char和varchar

​ 列舉型別 enum

​ 單選

​ 集合型別 set

​ 多選

3.時間和日期型別

​ 年 year

​ 日期 date

​ 時間 time

​ 日期和時間 datetime

​ 表是資料庫儲存資料的基本單位,

​ 由若干個字段(列)組成,

​ 主要用來儲存資料記錄(行)。

運算元據庫例項1

建立1列的**-序號

創庫 create database haha;

使用庫use haha;

創表1create table t1 (id int);

檢視所有表

show tables;

插入資料

insert into t1 values(1);

查詢所有資料

select * from t1;

刪除表drop table t1;

運算元據庫例項2

創兩列的**-序號和姓名

create table t2 (id int,name varchar);

檢視表結構

desc t2;

插入資料

insert into t2 values (1,"zhangsan");

查詢所有資料

select * from t2;

​ 要求

建立庫school

建立表student1

語法create table 表名(欄位名1 型別,欄位名2 型別,欄位名3 型別 );

示例

mysql> create database school;

建立資料庫school

mysql> use school;

使用庫mysql> create table student1( id int, name varchar , *** enum('m','f'), age int );

建立乙個表,四列

提示 query ok, 0 rows affected (0.03 sec)

mysql> show tables;	

+------------------+

| tables_in_school |

+------------------+

| student1 |

+------------------+

1 row in set (0.00 sec)

檢視表名(需要進入乙個資料庫)

語法

insert into 表名(欄位1,欄位2…) values(字段值列表…);

插入資料

insert into student1 values (1,'zhangsan','m',33) ,

insert into student1 values (2,'lisi','f',20) ,

insert into student1 values (1,'wangwu','m',40) ,

mysql> select * from student1;

查詢表中所有欄位的值

desc student1;

注意表結構和表內容是兩個概念。

python連線mysql資料庫實戰

表一 表二 需求 從表一中取出cheated user,為十一位手機號碼,取出前七位,到表二中查詢歸屬地省和市,插入表一。coding utf 8 import mysqldb conn mysqldb.connect host localhost port 3306,user root passw...

實戰!MySQL 資料庫增量資料恢復

場景概述 1 mysql資料庫每日零點自動全備 2 某天上午10點,小明莫名其妙地drop了乙個資料庫 3 我們需要通過全備的資料檔案,以及增量的binlog檔案進行資料恢復 主要思想 1 利用全備的sql檔案中記錄的change master語句,binlog檔案及其位置點資訊,找出binlog檔...

MySQL資料庫系列之資料庫設計原則

mysql中資料庫設計原則 1.一般情況下,應該盡量使用可以正確儲存資料的最小資料型別。資料型別不一樣,儲存的執行效率也不一樣。最好使用適度的整型資料型別,例如int之類的資料,這樣在做查詢或者字段排序的時候速度是最快的。2.盡量避免null值的時候,因為這樣會增加資料庫處理的開銷。但是也要考慮實際...