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()