由于家里笔记本没安虚拟机,在windows系统安装mysql5.7:mysqld -install
mysql:关系型数据库
mongoDB:非关系型数据库,适合爬虫
基本操作:
启动服务:net start mysql
登陆:mysql -u root -p
退出:exit
停止服务:net stop mysql
数据库类型及约束:
# 常用数据类型:
# 整型:int bit
# 小数:decimal decimal(5,2)表示共存5位数,小数位占2位
# 字符串:varchar char varchar表示可变长字符串 char表示不变字符串例如char(3) 如果为'ab'则为‘ab ’
# 字符串text:表示存储大字符串,当字符串大于4000时推荐使用
# 日期类型:data time datatime
# 枚举类型:enum
# 对于图像、视频、音频文件一般存储于服务器上,然后在表中存储文件的路径
# 约束
# 主键:primary key :物理上存储的顺序
# 非空:not null
# 唯一:unique:此字段的值不能重复
# 默认:default
# 外键(存储别的表的主键的字段):foreign key
数据库操作:
数据库操作 | 描述 |
---|---|
create database database_name char set = utf8; | 创建的数据库 |
show databases; | 查看数据库 |
show create database database_name; | 查看创建数据库 |
drop database database_name; | 删除数据库 |
use database_name; | 使用数据库 |
select database(); | 查看当前使用数据库 |
数据表的操作:
数据表操作 | 描述 |
---|---|
show tables ; | 查看所有数据表 |
show create table studuent; | 查看表的创建 |
create table table_test( ); | 创建数据表 |
desc table_test; | 查看数据表的结构 |
insert into table_test values ( ); | 数据表中插入数据 |
select * from table_test; | 查看表 |
drop table table_test | 删除表 |
修改表操作 | 描述 |
---|---|
alter table studuent add brithday datetime; | 添加字段 |
alter table studuent modify brithday date; | 修改字段类型 |
alter table studuent change brithday brith date default “2000-01-01”; | 修改字段字段名及类型 |
alter table table_name alter column_name set … | 修改字段数据 |
alter table studuent drop brith; | 删除字段 #一般不会删除数据,多做加法,少做减法 |
drop table studuent; | 删除表 |
如:
# 创建数据表
create table table_test(
id int unsigned unique primary key not null auto_increment,
name varchar(30) not null,
age tinyint unsigned,
high decimal(5,2),
gender enum("男","女","中性","保密") default "保密",
cls_id int unsigned
);
# 数据表中插入数据
insert into python_test values (0, "老王", 23, 187, "男", 2);
数据表中数据操作
# 数据表中数据的增删该查(C Create U Update R Retrieve D Delete)
# 增加
insert into classes values (0, "菜鸟班"); #枚举类型插入式可以相当于一个从1开始的列表
#部分插入
insert into studuent (name, gender) values ("小桥", 2);
#多行插入
insert into studuent (name, gender) values ("小桥", 2), ("大桥", 2);
# 删除
#物理删除(不推荐)
delete from 表名 where 条件;
delete from studuent where id > 3;
#逻辑删除
#用一个字段表示该条信息是否可用,例如给studuent表添加一个字段is_delete
alter table studuent add is_delete bit default 0;
update studuent set is_delete = 1 where id = 11;
# 修改
update studuent set gender = 1 where id = 2;
update studuent set gender = 1, name = "西施" where id = 2;
# 查询(重点)
select * from studuent;
select * from studuent where id > 3;
select id, name, age, gender from studuent where gender = 2;
select id, name as 姓名, age as 年龄, gender as 性别 from studuent where gender = 2; #字段的顺序也是查询结果显示的顺序