Python学习笔记十七(MySQL、SQL、数据库&数
2018-05-08 本文已影响152人
DragonFangQy
数据库
什么是数据[1]
数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。计算机中的数据,是对现实世界的一种量化。
什么是数据库[2]
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
作用:对数据操作更方便。
数据库的分类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。
最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库
常见的关系型数据库
- Oracle数据库
- MySQL数据库
- DB2数据库
- SqlServer数据库
常见的非关系型数据库
- Redis
- MongoDB
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
- 数据以表格的形式出现
- 每行为一条数据
- 每列为一条数据的特征或字段
- 许多的行和列组成一张表单
- 若干的表单组成database
Mysql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是开源的、免费的。
MySQL 安装
安装完成启动服务
sudo service mysql start
停止服务
sudo service mysql stop
重启服务
sudo service mysql restart
卸载
sudo apt-get remove mysql-*
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 选择yes
SQL语句[3]
连接数据库
连接数据库的前提是你有数据库
mysql -V # 有版本信息说明你有数据库
01验证数据库是否存在.png
连接数据库
mysql -u root -p # 回车,输入密码,再次回车,看到如下图所示,说明连接数据库成功
02连接数据库成功.png
查看现有数据库
show databases;
03查看现有数据库.png
创建测试数据库
--create database 数据库名 charset="utf8";
create database fang charset="utf8"; --使用utf8 字符集
04创建测试数据库.png
查看建库语句
show create database fang; --show create database 数据库名;
05查看创建库语句.png
创建了一个名为 test 的数据库,没有指定charset 默认使用了 Latin1[4] 字符集,Latin1 字符集不支持中文。
删除数据库
drop database test; --drop database 数据库名;
07删除数据库.png
查看数据表
使用数据库
use fang; --use 数据库名;
查看数据表
show tables; --查看当前数据库下的所有数据表
08查看数据表.png
新建的数据库是没有数据表的
创建数据表
数据类型[5]
数值
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1 字节 | (-128,127) | (0,255) | 小整数值 |
INT或INTEGER | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
DECIMAL | 对DECIMAL(M,D) , 如果M>D,为M+2, 否则为D+2 |
依赖于M和D的值 | 依赖于M和D的值 | 小数值 |
时间
类型 | 大小(字节) | 范围 | 格式 | 用途 |
---|---|---|---|---|
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时 |
字符串
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535 字节 | 可变长字符串 |
- decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
- char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab '
- varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
- 枚举类型(enum),enum("男","女","保密")
约束
- 主键primary key:物理上存储的顺序
- 非空not null:此字段不允许填写空值
- 默认default:当不填写此值时会使用默认值,如果填写时以填写为准
创建数据表
-- 创建数据表article,
-- article 有id 无符号int类型 自动增长的主键,
-- title varchar类型长度100 非空
-- content_file_path varchar类型长度100 非空
-- content_num 无符号int类型 非空 默认值为0
-- is_delect tinyint类型 非空 默认值为0
create table article(
id int unsigned auto_increment primary key,
title varchar(100) not null,
content_file_path varchar(100) not null,
content_num int unsigned not null default 0,
is_delect tinyint not null default 0
);
09创建数据库.png
查看创建数据表语句
--show create table 数据表名;
show create table user;
10查看数据表语句.png
删除数据表
-- drop table 表名;
drop table user;
11删除数据表.png
查看表结构
-- desc 数据表的名字;
desc article;
12查看表结构.png
添加字段
添加author_name
-- alter table 表名 add 列名 类型;
alter table article add author_name varchar(50);
13添加字段.png
修改字段
修改 author_name 为 author_info
-- alter table 表名 change 原名 新名 类型及约束;
alter table article change author_name author_info varchar(50);
14修改字段.png
删除字段
删除author_info
-- alter table 表名 drop 列名;
alter table article drop author_info;
15删除字段.png
到此结 DragonFangQy 2018.5.8