SQL基礎語句
進入資料庫
mysql -u [username] -p [passward]
資料庫操作
CREATE DATABASE [db_name]; #建立資料庫
DROP DATABASE [db_name]; #刪除資料庫
SHOW DATABASES; #檢視資料庫
USE DATABASE; #使用資料庫
表格操作
#建立表格
CREATE TABLE [table_name] ([column_name datatype],[column_name datatype],...);
#例如我們要建立一個學生表 欄位有 [id int型別 主鍵 自動增長 非空 ],[姓名 字串最大長度20 非空]
CREATE TABLE students(id int primary key auto_increment not null ,name varchar [20 ] not null );
#檢視錶格欄位
DESC [table_name];
#修改表格欄位
ALTER TABLE table_name ADD column_name datatype; #增加一列
ALTER TABLE table_name DROP COLUMN column_name; #刪除一列
ALTER TABLE table_name CHANGE column_name column_name2 datatype; #將列column_name修改為column_name2 包括型別及屬性
#檢視錶格資料
SELECT * FROM table_name;
# *可以為任意列名,多個列名用逗號連線 *代表全部列
# * 可以以為函式 比如 avg(column_name) sum(column_name)
#count(column_name) max(column_name) min(column_name)等等
#去重
SELECT DISTINCT * FROM table_name;
#往表格內插入資料
INSERT INTO table_name VALUES ([DATA1],[DATA2],[DATA3],[DATA4]); #資料與表格內的列一一對應
#刪除資料
DELETE FROM table_name WHERE condition;
# eg: DELETE FROM student WHERE id=1 刪除student表內id為1 的記錄;
#修改資料
UPDATE table_name SET column_name = new_value WHERE condition;
其他技巧
#以組的形式檢視
SELECT * FROM table_name GROUP BY column_name;
#以某一列排序 降序/升序
SELECT * FROM table_name ORDER BY column_name DESC /ASC ;
#子查詢(select 語句的巢狀使用)
select * from table_name where column_name in (select column_name from table_name where condition)
與python互動
# -*- coding: UTF-8 -*-
import pymysql
# 開啟資料庫連線
db = pymysql.connect("localhost" , "username" , "passward" , "db_name" , charset='utf8' )
# 使用cursor()方法獲取操作遊標
cursor = db.cursor()
# 使用execute方法執行SQL語句
cursor .execute("SELECT VERSION()" )
# 使用 fetchone() 方法獲取一條資料
data = cursor.fetchone()
# 使用 fetchall() 方法獲取所有資料
data = cursor.fetchall()
print "Database version : %s " % data
# 關閉資料庫連線
db .close()