Py学习  »  DATABASE

MYSQL基础学习了解

JiAnGjYu • 2 年前 • 134 次点击  

MYSQL学习基础

什么是数据库

	关系型数据库管理系统(Relaive Databases Manager System 简称RDBMS)
		作用:存储数据,能够长期其保存
	MYSQL:数据库软件
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

数据库分类

	关系型数据库RDB
		使用SQL语句来操纵数据,表与表之间是有关系的
		比较有代表性的:Oracle,MYSQL,SQlserver (微软) DB2
		特点:
			(1)结构化数据,有行有列
			(2)表与表之间关系
	非关系型数据库
		代表性作品:Redis mangoDB HBase
			特点:
			(1)充分的使用内存资源,断电也不会丢失数据
			(2)数据以键值对形式存储
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

常见的数据库引擎

innoDB:MYISAM MEMORY
innoDB:该引擎可支持自动增长列,还支持外键
	优点:有良好的事务管理能力,崩溃修复能力
	缺点:读写速率相对较差,占用数据空间较大
MYISAM:
	优点:占用空间小,处理的速度快
	缺点:几乎不支持事务
MYISAM:
	优点:占用空间小,处理的速度快
	缺点:几乎不支持事务
MEMORY是MYSQL中一类特殊的存储胡引擎,在内存中创建表,并且数据也放在内存里
优点:快,非常快
缺点:数据易丢失
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

什么是SQL

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据查询和程序设计语言,用于存储数据和查询,更新,修改数据库和管理关系新型数据库,通过SQL语句可以操作关系型数据库
不同的数据库支持的SQL不,但是差距不大
去了解其他数据中SQL语句的差异

MYSQL的服务框架

 - C/S:Client/Server
 - B/S:Browers/Server
 - B/S是一种特殊的C/S
 - MYSQL就是C/S的服务架构
 - 因此在启动mysql的核实后要先启动他的服务
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

链接服务器

mysql -u root -p 输入密码
在这里插入图片描述

SQL语句分类

DDL:
	Data Defintion(定义) Language
	数据库,表创建,修改,删除

DML:
	Data Manipulation (操作)Language
	表中数据的操作,插入,删除,修改,查询

DCL:
	Data Control (控制)Language
	权限控制,谁能干什么,谁不能干什么

DQL:
	Data Query(查询)Language
	查询数据库中的数据
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

DDL:(数据库,表的操作)数据库操作语言

SQL注意:
	sql语句都要以分号结尾“;”
	sql语句可以换行继续写,但是不能写结尾
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

关键字

create:创建
drop:删除
show:查看
alter:修改
database:数据库
table:表
use:切换数据库
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

创建数据库

create database 库名 ;
  • 1
  • 1

在这里插入图片描述

字段类型

整数:int    long  short
浮点:float  double(5,2)5 总长度 5位  2, 小数点位数
字符:char(定长) varchar(变长)
文本:text(大段的文字)
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

注意使用varchar类型一定要给长度

创建数据表

create table (字段名,字段类型...);
  • 1
  • 1

在这里插入图片描述

设置主键

主键:在创建表时,在要设置为主键的字段后面添加上主键(primary key)
  • 1
  • 1

查看表结构

desc 表名;
  • 1
  • 1

在这里插入图片描述
Fiele:字段
Type:类型
Null:是否为空
Key:主键
Default:默认值
Extra:注释

添加字段

添加之前
  • 1
  • 1

添加之前

alter table 表名 add 字段名 字段类型;
  • 1
  • 1

添加之后

添加之后
  • 1
  • 1

在这里插入图片描述

删除字段

alter table 表名 drop 字段名;
在这里插入图片描述

修改字段类型

alter table 表名 change 旧字段名 新字段名 新数据类型;	
  • 1
  • 1

在这里插入图片描述

MYSQL的五种约束

※  主键约束 :primary key

※  唯一性约束:unique key

※  外键约束:foreign key

※  非空约束:not null

※  默认值约束:default
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

一、主键约束

一个表只能有一个主键,当建表时忘记设置主键约束时.设置为主键的列查询速度会非常快,所以一般会用聚集索引
  • 1
  • 1

添加主键约束:
alter table 表名 add primary key(列名);

修改主键约束:
alter table 表名 modify 列名称 列类型 primary key;

删除主键约束:
alter table 表名 drop primary key;

二、外键约束




    
什么是外键:
当建表时需要用到另外一个表的主键作为本表的的主键时,需要设置外键。设置外间后,若想在删除本表数据时会级联删除或者默认删除其他方式。
  • 1
  • 2
  • 1
  • 2

添加外键约束:
alter table 表名 add foreign key (列名) references 关联表名(列名);

删除外键:
alter table 表名 drop foreign key 外键名称;

查询外键名:
show create table 表名;

三、非空约束

当插入新数据时对应的列为不能空。非空约束是相对于默认值约束而说的。
  • 1
  • 1

添加非空约束:
alter table 表名 modify 列名 列类型 not null;

修改非空约束:
alter table 表名 modify 列名 列类型 null;

删除非空约束:
alter table modify 列名 列类型 默认值;

四、默认值约束

当插入时没有插入值时,会自动插入默认值。默认值约束相对于非空约束而说。
  • 1
  • 1

添加唯一约束:
alter table 表名 add 列名 列类型 not null default ‘默认值’;

五、唯一约束

本列的内容只能唯一不能重复。
  • 1
  • 1

添加唯一约束:
alter table 列名 add unique(列名称);

修改唯一约束:
alter table 表名 modify 列名称 列类型 unique;

删除唯一约束:
alter table 表名称 drop index 列名称;

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111091
 
134 次点击