下文給大家?guī)?lái)有關(guān)Python全棧MySQL數(shù)據(jù)庫(kù)基本操作的詳細(xì)內(nèi)容,相信大家一定看過(guò)類似的文章。我們給大家?guī)?lái)的有何不同呢?一起來(lái)看看正文部分吧,相信看完P(guān)ython全棧MySQL數(shù)據(jù)庫(kù)基本操作你一定會(huì)有所收獲。
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),阿巴嘎網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:阿巴嘎等地區(qū)。阿巴嘎做網(wǎng)站價(jià)格咨詢:028-86922220MySQL是一種快速易用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),很多企業(yè)都在使用它來(lái)構(gòu)建自己的數(shù)據(jù)庫(kù)。
MySQL由一家瑞典公司MySQL AB開(kāi)發(fā)、運(yùn)營(yíng)并予以支持。它之所以非常流行,原因在于具備以下這些優(yōu)點(diǎn):
基于開(kāi)源許可發(fā)布,無(wú)需付費(fèi)即可使用。
自身的功能非常強(qiáng)大,足以匹敵絕大多數(shù)功能強(qiáng)大但卻價(jià)格昂貴的數(shù)據(jù)庫(kù)軟件。
使用業(yè)內(nèi)所熟悉的標(biāo)準(zhǔn)SQL數(shù)據(jù)庫(kù)語(yǔ)言。
可運(yùn)行于多個(gè)操作系統(tǒng),支持多種語(yǔ)言,包括 PHP、PERL、C、C++ 及 Java 等語(yǔ)言。
非常迅速,即使面對(duì)大型數(shù)據(jù)集也毫無(wú)滯澀。
非常適用于 PHP 這種 Web 開(kāi)發(fā)者最喜歡使用的語(yǔ)言。
支持大型數(shù)據(jù)庫(kù),高可在一個(gè)表中容納 5千多萬(wàn)行。每張表的默認(rèn)文件大小限制為 4GB,不過(guò)如果操作系統(tǒng)支持,你可以將其理論限制增加到 800 萬(wàn) TB。
可以自定義。開(kāi)源 GPL 許可保證了程序員可以自由修改 MySQL,以便適應(yīng)各自特殊的開(kāi)發(fā)環(huán)境。
關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)具有以下特點(diǎn):
能夠?qū)崿F(xiàn)一種具有表、列與索引的數(shù)據(jù)庫(kù)。
保證不同表的行之間的引用完整性。
能自動(dòng)更新索引。
能解釋 SQL 查詢,組合多張表的信息。
RDBMS術(shù)語(yǔ)
術(shù)語(yǔ) | 描述 |
---|---|
數(shù)據(jù)庫(kù)(Database) | 數(shù)據(jù)庫(kù)是帶有相關(guān)數(shù)據(jù)的表的集合 |
表(Table) | 表是帶有數(shù)據(jù)的矩陣。數(shù)據(jù)庫(kù)中的表就像一種簡(jiǎn)單的電子表格 |
列(Column) | 每一列(數(shù)據(jù)元素)都包含著同種類型的數(shù)據(jù),比如郵編 |
行(Row) | 行(又被稱為元組、項(xiàng)或記錄)是一組相關(guān)數(shù)據(jù),比如有關(guān)訂閱量的數(shù)據(jù) |
冗余(Redundancy) | 存儲(chǔ)兩次數(shù)據(jù),以便使系統(tǒng)更快速 |
主鍵(Primary Key) | 主鍵是唯一的。同一張表中不允許出現(xiàn)同樣兩個(gè)鍵值。一個(gè)鍵值只對(duì)應(yīng)著一行 |
外鍵(Foreign Key) | 用于連接兩張表 |
復(fù)合鍵(Compound Key) | 復(fù)合鍵(又稱組合鍵)是一種由多列組成的鍵,因?yàn)橐涣胁⒉蛔阋源_定唯一性 |
索引(Index) | 它在數(shù)據(jù)庫(kù)中的作用就像書后的索引一樣 |
引用完性(Referential Integrity) | 用來(lái)確保外鍵一直指向已存在的一行 |
連接已經(jīng)啟動(dòng)的MySQL數(shù)據(jù)庫(kù)指令
ansheng@Darker:~$ mysql -uroot -pas -h 192.168.56.1 -P 3306
查看當(dāng)前的所有數(shù)據(jù)庫(kù)
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
默認(rèn)數(shù)據(jù)庫(kù) | 描述 |
---|---|
information_schema | 提供了訪問(wèn)數(shù)據(jù)庫(kù)元數(shù)據(jù)的方式,元數(shù)據(jù)如數(shù)據(jù)庫(kù)名或表名,列的數(shù)據(jù)類型或訪問(wèn)權(quán)限等 |
test | 用戶用來(lái)測(cè)試的數(shù)據(jù)庫(kù)庫(kù) |
mysql | 用戶權(quán)限相關(guān)數(shù)據(jù) |
performance_schema | 用于收集數(shù)據(jù)庫(kù)云服務(wù)器性能參數(shù) |
sys | 包含了一系列視圖、函數(shù)和存儲(chǔ)過(guò)程 |
創(chuàng)建數(shù)據(jù)庫(kù)
-- 創(chuàng)建字符串為utf-8的數(shù)據(jù)庫(kù) CREATE DATABASE dbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-- 創(chuàng)建字符串為gbk的數(shù)據(jù)庫(kù) CREATE DATABASE dbname DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
進(jìn)入數(shù)據(jù)庫(kù)
use dbname;
刪除數(shù)據(jù)庫(kù)
drop database dbname;
用戶相關(guān)
創(chuàng)建ansheng用戶,允許所有主機(jī)連接,密碼設(shè)置為as
create user 'ansheng'@'%' identified by 'as';
修改ansheng用戶的用戶名為as
rename user 'ansheng'@'%' to 'anshengme'@'192.168.56.1';
修改anshengme用戶的密碼為123
set password for 'anshengme'@'192.168.56.1' = Password('123');
刪除anshengme用戶
drop user 'anshengme'@'192.168.56.1';
用戶權(quán)限相關(guān)數(shù)據(jù)保存在mysql數(shù)據(jù)庫(kù)的user表中,所以也可以直接對(duì)其進(jìn)行操作(不建議)
用戶授權(quán)
-- 查看權(quán)限 show grants for 'root'@'localhost'; -- 授權(quán) grant 權(quán)限 on 數(shù)據(jù)庫(kù).表 to '用戶'@'IP地址'; -- 取消權(quán)限 revoke 權(quán)限 on 數(shù)據(jù)庫(kù).表 from '用戶'@'IP地址';
創(chuàng)建表
create table 表名( 列名 類型 是否可以為空, 列名 類型 是否可以為空 )ENGINE=InnoDB DEFAULT CHARSET=utf8
是否可以為空
create table tb_name( `username_not` varchar(30) NOT NULL , -- 不可空 `username_null` varchar(30) NULL -- 可空 )ENGINE=InnoDB DEFAULT CHARSET=utf8
默認(rèn)值,創(chuàng)建列時(shí)可以指定默認(rèn)值,當(dāng)插入數(shù)據(jù)時(shí)如果未主動(dòng)設(shè)置,則自動(dòng)添加默認(rèn)值
create table tb_name( nid int not null defalut 2, num int not null )ENGINE=InnoDB DEFAULT CHARSET=utf8
自增,如果為某列設(shè)置自增列,插入數(shù)據(jù)時(shí)無(wú)需設(shè)置此列,默認(rèn)將自增(表中只能有一個(gè)自增列)
create table tb_name( nid int not null auto_increment primary key, num int null )ENGINE=InnoDB DEFAULT CHARSET=utf8
或
create table tb_name( nid int not null auto_increment, num int null, index(nid) )ENGINE=InnoDB DEFAULT CHARSET=utf8
對(duì)于自增列,必須是索引(含主鍵)。
對(duì)于自增可以設(shè)置步長(zhǎng)和起始值
show session variables like 'auto_inc%'; set session auto_increment_increment=2; set session auto_increment_offset=10; shwo global variables like 'auto_inc%'; set global auto_increment_increment=2; set global auto_increment_offset=10;
主鍵,一種特殊的唯一索引,不允許有空值,如果主鍵使用單個(gè)列,則它的值必須唯一,如果是多列,則其組合必須唯一。
create table tb1( nid int not null auto_increment primary key, num int null )
或
create table tb1( nid int not null, num int not null, primary key(nid,num) )
外鍵,一個(gè)特殊的索引,只能是指定內(nèi)容
create table color( nid int not null primary key, name char(16) not null )
create table fruit( nid int not null primary key, smt char(32) null , color_id int not null, constraint fk_cc foreign key (color_id) references color(nid) )
刪除表
drop table tb_name;
清空表
-- 如果清空的表又自增列,那么在清空之后會(huì)繼續(xù)上次自增的值繼續(xù)自增 delete from tb_name; -- 如果清空的表又自增列,那么在清空之后再次添加數(shù)據(jù)自增的值會(huì)從新開(kāi)始計(jì)算 truncate table tb_name;
修改表
-- 添加列 alter table 表名 add 列名 類型; -- 刪除列 alter table 表名 drop column 列名; -- 修改列 alter table 表名 modify column 列名 類型; -- 類型 alter table 表名 change 原列名 新列名 類型; -- 列名,類型 -- 添加主鍵 alter table 表名 add primary key(列名); -- 刪除主鍵 alter table 表名 drop primary key; alter table 表名 modify 列名 int, drop primary key; -- 添加外鍵 alter table 從表 add constraint 外鍵名稱(形如:FK_從表_主表) foreign key 從表(外鍵字段) references 主表(主鍵字段); -- 刪除外鍵 alter table 表名 drop foreign key 外鍵名稱; -- 修改默認(rèn)值 ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; -- 刪除默認(rèn)值 ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
對(duì)于上文關(guān)于Python全棧MySQL數(shù)據(jù)庫(kù)基本操作的詳細(xì)介紹,大家覺(jué)得是自己想要的嗎?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。