python-day36(初識MySQL資料庫)
一. MySQL 介紹
資料庫分類:
1. 關係型資料庫(RDBMS)
Oracle資料庫
MySQLl資料庫
MariaDB資料庫
SQL Server資料庫
Access資料庫
其他不常用關係型資料庫: DB2,PostgreSQL,Informix,Sybase
2. 非關係型資料庫(Nosql)
NOSQL>>>>> Not Olnly SQL
鍵值(Key-Value)儲存資料庫
memcached(key-value)
Redis(key-value)
列儲存(Column-oriedted)資料庫 很少用
Cassandra(Column-oriedted)
面向文件(Document-Oriented)資料庫
MongoDB(Document-Oriented)
圖形(Graph)資料庫
其他不常用非關係型資料庫: HBase,MemcacheDB,BerkeleyDB,Tokyo Cabinet \ Tokyo Tyrant (ttserver)
二. MySQL的下載安裝,簡單應用及目錄介紹
將MySQL的bin目錄追加到環境變數中 PATH
mysqld --initialize-insecure 初始化
mysqld 啟動MySQL服務
mysql -u root -p 連線MySQL伺服器
mysqld --install 製作MySQL的Windows服務
mysqld --remove 移除
註冊成服務之後
net start mysql 啟動mysql服務
net stop mysql 關閉mysql服務
三. root使用者密碼設定及忘記密碼的解決方案
方法1: 首先登陸MySQL, 使用mysql自帶的那個客戶端連線上mysql
格式:mysql> set password for 使用者名稱@localhost = password('新密碼');
例子:mysql> set password for [email protected] = password('123');
四. 初始sql語句,語句結尾加 ' ; '
1.庫
增: create databasesdb1 charset utf8 ;#建立一個庫,可以指定字符集
查: show databases; #檢視資料庫中所有的庫
改: alter database db1 charset latin1; #修改的字符集 Latin (改成哪個字符集)
刪除: drop database db1; #刪除資料庫
2. 表
先切換庫: use db1; #要操作表文件,要先切換到對應的庫下才能操作表
增: create table t1(id int, name char(10));
查: show tables; #檢視當前庫中所有的表
show create table t1; #檢視單表的建立資訊
desc t1; 查看錶結構
describe t1; 同上
改: alter table t1 modify name char(3);
alter table t1 change name name1 char(2);
刪: drop table t1;
3. 行*******
增: insert into t1 values(1,'dsb1'),(2,'dsb2'),(3,'dsb3');
#insert 後面的 into 可以不用寫
查: select * from t1;
select id,name from t1;
改: update t1 set name='sb' where id = 2;
update t1 set name= 'sb'; 不指定where,name欄位的所有資料都改成sb.
刪: delete from t1 where id = 1 ; 刪除id 為1 的行
清空表:
delete from t1; #自增id 會繼續 更上刪除後的
truncate table t1; 資料量大,刪除速度比上一條快, 且直接從零開始,
auto_increment 表示: 自增
primary key 表示: 約束(不能重複且不能為空)