MYSQL学习基础

什么是数据库

关系型数据库管理系统(Relaive Databases Manager System 简称RDBMS)

作用:存储数据,能够长期其保存

MYSQL:数据库软件

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

常见的数据库引擎

innoDB:MYISAM MEMORY

innoDB:该引擎可支持自动增长列,还支持外键

优点:有良好的事务管理能力,崩溃修复能力

缺点:读写速率相对较差,占用数据空间较大

MYISAM:www.ylsx8.com

优点:占用空间小,处理的速度快

缺点:几乎不支持事务

MYISAM:

优点:占用空间小,处理的速度快

缺点:几乎不支持事务

MEMORY是MYSQL中一类特殊的存储胡引擎,在内存中创建表,并且数据也放在内存里

优点:快,非常快

缺点:数据易丢失

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

链接服务器

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

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

SQL注意:

sql语句都要以分号结尾“;”

sql语句可以换行继续写,但是不能写结尾

1

2

3

关键字

create:创建

drop:删除

show:查看

alter:修改

database:数据库

table:表

use:切换数据库

1

2

3

4

5

6

7

创建数据库

create database 库名 ;

1



字段类型

整数:int    long  short

浮点:float  double(5,2)5 总长度 5位  2, 小数点位数

字符:char(定长) varchar(变长)

文本:text(大段的文字)

1

2

3

4

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


创建数据表

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

1



设置主键

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

1

查看表结构

desc 表名;

1


Fiele:字段

Type:类型

Null:是否为空

Key:主键

Default:默认值

Extra:注释


添加字段

添加之前

1



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

1



添加之后

1



删除字段

alter table 表名 drop 字段名;



修改字段类型

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

1



MYSQL的五种约束

※  主键约束 :primary key


※  唯一性约束:unique key


※  外键约束:foreign key


※  非空约束:not null


※  默认值约束:default

1

2

3

4

5

6

7

8

9

一、主键约束

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

1

添加主键约束:

alter table 表名 add primary key(列名);


修改主键约束:

alter table 表名 modify 列名称 列类型 primary key;


删除主键约束:

alter table 表名 drop primary key;


二、外键约束

什么是外键:

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

1

2

添加外键约束:

alter table 表名 add foreign key (列名) references 关联表名(列名);


删除外键:

alter table 表名 drop foreign key 外键名称;


查询外键名:

show create table 表名;


三、非空约束

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

1

添加非空约束:

alter table 表名 modify 列名 列类型 not null;


修改非空约束:

alter table 表名 modify 列名 列类型 null;


删除非空约束:

alter table modify 列名 列类型 默认值;


四、默认值约束

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

1

添加唯一约束:

alter table 表名 add 列名 列类型 not null default ‘默认值’;


五、唯一约束

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

1

添加唯一约束:

alter table 列名 add unique(列名称);


修改唯一约束:

alter table 表名 modify 列名称 列类型 unique;


删除唯一约束:

alter table 表名称 drop index 列名称;