MySQL
web时代使用最广泛的关系型数据库,MySQL
一.SQL
SQL是结构化查询语言,操作关系型数据库都需要使用SQL语言进行操作
1.SQL语句分类
- DQL:数据查询语言,例如select
- DML:数据操作语言,例如insert,udpate,delete
- DDL:数据定义语言,例如create,drop
最重要的就是学会数据的CURD(增删改查)
学习SQL语句编写
Python中如何通过SQL语句操作数据
- 创建Connection连接
conn = connect(host='localhost', port=3306, user='root', password='mysql', database='python1', charset='utf8')
- Cursor得对象
cs = conn.cursor()
- 执行sql语句
# 更新
# sql = 'update students set name="刘邦" where id=6'
# 删除
# sql = 'delete from students where id=6'
# 执行select语句,并返回受影响的行数:查询一条学生数据
sql = 'select id,name from students where id = 7'
MySQL数据库
数据库操作
- 查看当前使用的数据库
select detabase();
- 创建数据库
create database 数据库名 charset=utf8
数据表操作
- 查看表结构
desc 表名;
- 创建表,auto_increment表示自动增长
CREATE TABLE table_name(
column1 datatype contrai,
column2 datatype,
column3 datatype, .....
columnN datatype, PRIMARY KEY(one or more columns));
- 创建用户表
create table users(
id int unsigned primary key auto_increment not null,
name varchar(20) default '',
age tinyint unsigned default 0,
height decimal(5,2),
gender enum('男','女','人妖','保密'), cls_id int unsigned default 0
)
- 修改表,添加字段
alter table 表名 add 列名 类型;
例:alter table students add birthday datetime;
增删改查(CURD)
curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)
- 查询所有列 select * from 表名;
- 增加 insert into 表名 values(…);
- 修改 update 表名 set 列1=值1,列2=值2… where 条件;
- 删除 delete from 表名 where 条件;
- 逻辑删除,本质就是修改操作
update students set isdelete=1 where id=1;
(做到的大多都是逻辑删除,并不会去操作物理删除)
备份
mysqldump –uroot –p 数据库名 > python.sql;
恢复
(需要先连接MySQL,并创建新的数据库)
mysql -uroot –p 新数据库名 < python.sql