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值的時候,因為這樣會增加資料庫處理的開銷。但是也要考慮實際...