一、什么是MySQL?
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
二、什么是数据库?
首先了解数据库,就要先知道什么是数据库管理系统?什么又是关系型数据库管理系统?
数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
关系数据库管理系统(Relational Database Management System:RDBMS):是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。
而数据库(DATA BASE)是指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。
通常所说就是用来组织、储存和管理数据的一个仓库。
三、为什么选择MySQL?
1、软件本身体积小,不占用太多内存空间,安装简单并且易于维护。
2、MySQL是开放源代码的并且没有版权约束,自主性好。
3、运行速度和命令执行的速度快。
4、跨平台性强,运行在多种系统平台上,如windouws,Linux,Unix等。
四、初识MySQL命令
1、MySQL的服务启动与停止
开启服务:net start mysql
当我们把MySQL数据库安装好了之后,我们就可以点击Win+R键输入cmd打开命令提示符面板,输入net start +服务名[mysql的具体安装版本],例如我安装的是mysql5.7,则启动服务输入net start mysql57,同理关闭服务,只需将start改为stop就可以了。
关闭服务:net stop mysql
同时,还可以在计算机->管理->服务。里面去找Mysql的服务进行启动和关闭。
2、进入MySQL
登录方式
1.可以直接点击Windows系统的左下角开始,找到MySQL [版本号] Command Line Client 界面,直接输入密码登录
2.在cmd命令提示符里面输入命令进行登录【安装过程中,默认用户为root,超级管理员】
mysql -h地址 -u用户 -p密码
3、SQL语句
SQL是结构化查询语言(Structured Query Language)。
SQL语句包含数据定义语言(DDL)、数据查询语言(DQL)、数据操作语言(DML)、数据控制语言(DCL)四种。
4、数据类型及约束
1.数字类型
整型:
tinyint 1个字节 范围(-128~127)
smallint 2个字节 范围(-32768~32767)
mediumint 3个字节 范围(-8388608~8388607)
int 4个字节 范围(-2147483648~2147483647)
bigint 8个字节 范围(+-9.22*10的18次方)
浮点型:
float 单精度浮点型 4字节 7位小数
double 双精度浮点型 8字节 15位小数
定点型:
decimal(总位数,小数点后的位数) decimal(M,D) 17字节 30位小数
【注:M必须大于D,因为M为总位数,D为小数位】
2.字符串类型
char(长度) -固定长度字符串 范围(0-255)
varchar(最大的长度) -可变长度字符串 范围(0-65535)
3.时间类型
date 年月日 yyyy-MM-dd 3字节
datetime 年月日 时分秒 yyyy-MM-dd HH:mm:ss 8字节
4.约束
1.主键约束(Primay Key): 主键,具有唯一标识和唯一性,同时不能为空,也不能重复;
【Mysql可以使用auto_increment来实现列的自动增长】
2.唯一约束 (Unique ): 唯一性,可以空,但只能有一个;
3.默认约束 (Default ) : 该数据的默认值;
4.非空约束(Not Null ): 设置非空约束,该字段不能为空。
4.外键约束 (Foreign Key ): 需要建立两表间的关系;
FOREIGN KEY(当前字段) REFERENCES 外键表 (外键表字段)
5、数据库的管理
创建数据库 create database [if not exists] 数据库名 ;
使用数据库 use 数据库;
删除数据库 drop database 数据库;
查看数据库 show databases;
查看数据库的创建信息 show create database 数据库名;
退出 exit
6、数据库表的管理
创建表 create table 表名 (列名 列的数据类型 [列的约束],……);
查看表的创建信息 show create table 表名;
显示所有表 show tables;
删除表 drop table 表名; 【注:有外键关系时要先删除外键表再进行删除本表】
复制表 create table 表名 select * from 表名;
修改表
添加列 alter table 表名 add 列名 列的数据类型 列的约束
修改列 alter table 表名 change 久列名 新列名 新列的数据类型 新列的约束
删除列 alter table 表名 drop column 列名
添加数据(insert)
insert into 表名 (列名1,列名2,……) values (值1,值2,……);
【注:列名可以不写,默认为全部所有列。值必须和列名保持一致,并且值的类型也必须是列的数据类型】
修改数据(update)
update 表名 set 列1=新值1,列2=新值2,…… [ where 条件];
删除数据(delete)
delete from 表名 [where 条件]; //数据还可以恢复
truncate table 表名; //删除所有的数据,且数据不能恢复。同时truncate不能用于有外键约束引用的表。它可以重置自增列。