MYSQL学习基础
什么是数据库
关系型数据库管理系统(Relaive Databases Manager System 简称RDBMS)
作用:存储数据,能够长期其保存
MYSQL:数据库软件
数据库分类
关系型数据库RDB
使用SQL语句来操纵数据,表与表之间是有关系的
比较有代表性的:Oracle,MYSQL,SQlserver (微软) DB2
特点:
(1)结构化数据,有行有列
(2)表与表之间关系
非关系型数据库
代表性作品:Redis mangoDB HBase
特点:
(1)充分的使用内存资源,断电也不会丢失数据
(2)数据以键值对形式存储
常见的数据库引擎
innoDB:MYISAM MEMORY
innoDB:该引擎可支持自动增长列,还支持外键
优点:有良好的事务管理能力,崩溃修复能力
缺点:读写速率相对较差,占用数据空间较大
MYISAM:
优点:占用空间小,处理的速度快
缺点:几乎不支持事务
MYISAM:
优点:占用空间小,处理的速度快
缺点:几乎不支持事务
MEMORY是MYSQL中一类特殊的存储胡引擎,在内存中创建表,并且数据也放在内存里
优点:快,非常快
缺点:数据易丢失
什么是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的核实后要先启动他的服务
链接服务器
mysql -u root -p 输入密码
SQL语句分类
DDL:
Data Defintion(定义) Language
数据库,表创建,修改,删除
DML:
Data Manipulation (操作)Language
表中数据的操作,插入,删除,修改,查询
DCL:
Data Control (控制)Language
权限控制,谁能干什么,谁不能干什么
DQL:
Data Query(查询)Language
查询数据库中的数据
DDL:(数据库,表的操作)数据库操作语言
SQL注意:
sql语句都要以分号结尾“;”
sql语句可以换行继续写,但是不能写结尾
关键字
create:创建
drop:删除
show:查看
alter:修改
database:数据库
table:表
use:切换数据库
创建数据库
create database 库名 ;
字段类型
整数:int long short
浮点:float double(5,2)5 总长度 5位 2, 小数点位数
字符:char(定长) varchar(变长)
文本:text(大段的文字)
注意使用varchar类型一定要给长度
创建数据表
create table (字段名,字段类型...);
设置主键
主键:在创建表时,在要设置为主键的字段后面添加上主键(primary key)
查看表结构
desc 表名;
Fiele:字段
Type:类型
Null:是否为空
Key:主键
Default:默认值
Extra:注释
添加字段
添加之前
alter table 表名 add 字段名 字段类型;
添加之后
删除字段
alter table 表名 drop 字段名;
修改字段类型
alter table 表名 change 旧字段名 新字段名 新数据类型;
MYSQL的五种约束
※ 主键约束 :primary key
※ 唯一性约束:unique key
※ 外键约束:foreign key
※ 非空约束:not null
※ 默认值约束:default
一、主键约束
一个表只能有一个主键,当建表时忘记设置主键约束时.设置为主键的列查询速度会非常快,所以一般会用聚集索引
添加主键约束:
alter table 表名 add primary key(列名);
修改主键约束:
alter table 表名 modify 列名称 列类型 primary key;
删除主键约束:
alter table 表名 drop primary key;
二、外键约束
什么是外键:
当建表时需要用到另外一个表的主键作为本表的的主键时,需要设置外键。设置外间后,若想在删除本表数据时会级联删除或者默认删除其他方式。
添加外键约束:
alter table 表名 add foreign key (列名) references 关联表名(列名);
删除外键:
alter table 表名 drop foreign key 外键名称;
查询外键名:
show create table 表名;
三、非空约束
当插入新数据时对应的列为不能空。非空约束是相对于默认值约束而说的。
添加非空约束:
alter table 表名 modify 列名 列类型 not null;
修改非空约束:
alter table 表名 modify 列名 列类型 null;
删除非空约束:
alter table modify 列名 列类型 默认值;
四、默认值约束
当插入时没有插入值时,会自动插入默认值。默认值约束相对于非空约束而说。
添加唯一约束:
alter table 表名 add 列名 列类型 not null default ‘默认值’;
五、唯一约束
本列的内容只能唯一不能重复。
添加唯一约束:
alter table 列名 add unique(列名称);
修改唯一约束:
alter table 表名 modify 列名称 列类型 unique;
删除唯一约束:
alter table 表名称 drop index 列名称;
转载:https://blog.csdn.net/weixin_46020450/article/details/115443331