一、数据库操作
1、查看所有数据
show databases;
2、使用数据库
use 数据库名字;
3、查看当前使用的数据库
select database();
4、创建数据库
create database 数据库名字 charset='utf8'
5、删除数据库
drop database 数据库名字;
二、数据表操作
1、查看当前数据库中的所有表
show tables;
2、查看表结构
desc 表名字;
3、创建表(auto_increment表示自动增长)
create table 表名(
column1 datatype contrai,
column2 datatype,
column3 datatype,
.....);
4、修改表-添加字段
alert table 表名 add 列名 类型;
5、修改表–删除字段
alert table 表名 drop 列名;
6、删除表
drop table 表名;
7、查看表的创建语句
show creat table 表名;
三、数据的类型
.常用数据类型如下:
整数:int,bit
小数:decimal
字符串:varchar,char
日期时间: date, time, datetime
枚举类型(enum)
约束
主键primary key:物理上存储的顺序
非空not null:此字段不允许填写空值
惟一unique:此字段的值不允许重复
默认default:当不填写此值时会使用默认值,如果填写时以填写为准
外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常
类型 字节大小 示例
date 4 (‘2019-04-25’)
time 3 (‘17:29:34’)
datetime 8 (‘2019-04-25 17:29:34’)
year 1 (‘2019’)
四、数据库的CRUD
1、查询
查询所有列
select * from 表名
查询指定列
select * from 表名 where 条件;
2、增加
说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准
全列插入:值的顺序与表中字段的顺序对应
insert into 表名 values(....)
部分列插入:值的顺序与给出的列顺序一致
insert into 表名(列1...) values(值1...)
全列多行插入:值的顺序与给出的列顺序对应
insert into 表名(列1....)(默认不用写) values(值1....),(值2....).........;
3、修改
update 表名 set 列1=值1,列2=值2..... where 条件
4、删除
删除加where条件
delete from 表名 where 条件;
逻辑删除,修改操作
update 表名 set isdelete=1 where id = 1;
五、数据库的备份和删除
备份
#运行mysqldump命令
mysqldump -uroot -p 数据库名 > python.sql
#按提示输入MySQLl的密码
恢复
连接mysql,创建新的数据库(在mysql外创建新的数据库)
退出连接,执行以下命令
mysql -uroot -p 新数据库名 < python.sql
#根据提示输入MySQL的密码