Python數據庫[初識數據庫]
MySQL
介紹:
數據庫指的是以一定方式存儲在一起,能為過個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。
數據庫分類:
關系型數據庫:
關系型數據庫,是指采用了關系模型來組織數據的數據庫。
簡單來講,關系模型指的就是二維表格模型,而一個關系型數據庫就是由二維表及其之間的聯系所組成的一個數據組織。
非關系型數據庫:
非關系型數據庫嚴格意義上不算是一個數據庫,應該是一種數據結構化存儲方法的集合。
MariaDB:
MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲引擎方面,10.0.9版起使用XtraDB(名稱代號為Aria)來代替MySQL的InnoDB。
MariaDB由MySQL的創始人麥克爾·維德紐斯主導開發,他早前曾以10億美元的價格,將自己創建的公司MySQL AB賣給了SUN,此後,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自麥克爾·維德紐斯的女兒瑪麗亞(英語:Maria)的名字。
安裝:
Linux(CentOS 7):
#添加yum源,安裝mariadb
# MariaDB 10.2 CentOS repository list - created 2017-07-21 10:52 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
#執行命令
yum install MariaDB-server MariaDB-client
#防火墻放行:端口或者服務方式
端口:
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
服務:
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
#數據庫初始配置:
mysql_secure_installation
#Windows 上的 Navicat Premium軟件連接數據庫失敗解決方式
#提示"Host is not allowed to connect to this mysql server"解決方式:
登錄數據庫: use mysql; #進入mysql庫 update user set host = ‘%‘ where user = ‘root‘; #這一行執行可能會報錯,不用管,直接執行下面這句 FLUSH PRIVILEGES;
Windows:
MySQL: 自行去下面網址下載自己的安裝包安裝就行 https://www.mysql.com/downloads/ Mariadb: 同上,自己下載安裝 https://downloads.mariadb.org/
規範:
1.不區分大小寫(建議命令大寫)
2.以分號結尾
3.註釋 -- 單行註釋 /*[內容]*/ 多行註釋
約束:
主鍵(primary key): 非空 唯一
not null :非空約束
unique :唯一約束
數據庫操作
show databases; --查看所有數據庫
create database [數據庫名] [character set xxx]; --新建數據庫 --[character set xxx]為可選設置設定數據庫編碼集.
drop database; [數據庫名]; --刪除數據庫
alter database; [數據庫名] --修改數據庫
show create database; [數據庫名] --查看創建數據庫語句信息
use [數據庫名]; --使用(進入)數據庫
--創建表
create table [表名](
字段名 字段數據類型,
字段名 字段數據類型,
字段名 字段數據類型
);
show tables; --查看庫中的表
desc [表名]; --查看表字段內容(表結構)
show columns from [表名]; --也是查看表結構同上
show create table [表名]; --查看建表的語句信息
--增加表字段
alter table [表名] add 字段名 字段數據類型 (first|after 字段名 ) --first | after是位置參數
alter table [表名]
add [字段名] [字段數據類型],
add [字段名] [字段數據類型],
add [字段名] [字段數據類型];
--修改字段信息
alter table [表名] modify [字段名] [字段類型] (參數);
--修改字段名
alter table [表名] change [舊字段名] [新字段名] [字段類型];
--刪除字段
alter table [表名] drop [字段名];
--修改表名
rename table [表名] to [新表名];
--修改表字符集
alter table [表名] character set [字符集類型];
--刪除表
drop table [表名];
--數據庫改名
找到數據庫所在目錄,直接更改數據庫對應文件夾的名字.
數據類型:
varchar()
text
int
float([位數],[精度]) --float(5,2)
Python數據庫[初識數據庫]