MySQL速成
(一)、MySQL初识
1.1、数据库简介
数据库简介:
数据库是按照数据结构来组织,存储和管理数据的仓库。是一个长期存储在计算机内的有组织的可共享的统一管理的大量数据的集合
1.2、数据库的分类:
1.关系型数据库(SQL) 表与表之间产生关系
Oracle、MySQL、SQLSever
2.非关系型数据库(NoSQL:NOt Snly SQL) 数据以对象的形式存储在数据库中,通常以 key value的形式存在
MongoDB、Redis
1.3、MySQL
1.3.1、MySQL 简介 (使用快运行快)
. . MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
1.3.2、MySQL的特点
- MySQL是开源的,所以你不需要支付额外的费用;
- MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库;
- MySQL使用标准的SQL数据语言形式;
- MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口;
- 在 WEB 应用方面,MySQL有良好的表现。
1.3.3、MySQL交互方式(服务端 : 服务+存储引擎)
MySQL数据库是一种c/s(客户端/服务端)结构的软件,若想访问服务器必须通过客户端(服务器一直运行,客户端在需要的使用的时候运行)
1、客户端连接认证:链接服务器,认证身份
2、客户端发送SQL命令
3、服务器接收SQL指令,处理SQL指令、返回操作结果
4、客户端接收结果,显示结果。
1.3.4、数据库对象
从宏观上可以将MySQL服务器内部对象分为四层:系统(DBMS)->数据库(DB)—>数据表(Tables)->字段(fieid)
1.3.4.1、SQL介绍
SQL(Structured Query Language)结构化查询语言,其主要分为三个部分:
1、DDL(Data Definition Language):数据定义语言,用来维护存储数据的结构(数据库、表)。代表指令:
create、drop、alter等。
2、DML(Data Manipulation Language):数据操作语言,主要用来对数据进行操作(数据表中的内容)。代表指令:
insert、delete、update等。
3、其中 DML 内部又单独进行了一个分类 - DQL(Data Query Language)数据查询语言,如 select。因为99%是在进行查询操作。
1.3.4.2、数据库基本命令
显示当前mysql版本
SELECT VERSION();
显示当前系统时间
SELECT NOW();
显示当前用户
SELECT USER();
查看数据库
SHOW databases; --show(显示) databases(数据库)
1.3.4.3、MySQL语法规范
1、关键字和函数名全部大写(小写也可以识别,但是小写不利于区分关键字和函数,所以推荐使用大写)
2、数据库名、表名、字段名全部小写
3、SQL语句必须以分号结尾
1.3.4.4、数据库操作命令
1、创建数据库(不加s)
CREATE DATABASE 数据库名;
2、查看数据库(加s)
SHOW DATABASES;
3、选择指定数据库
USE 数据库名;
4、删除数据库
DROP DATAVABASE 数据库名;
1.3.4.5、数据表操作命令(库:database 表:table 字段:column)
1、创建表
CRETAE TABLE 表名(字段, 字段属性,...);
# 演示
create table User_Stu(ID int(10), name varchar(10), age int, sex varchar(10));
# 或者
CRETAE TABLE USER(
ID INT(10),
NAME VARCHAR(10),
age INT,
sex VARCHAR(10) --没有逗号
);
2、查看所有表
SHOW TABLES;
3、查看单个表
DESCRIPTION 表名; 可简写desc + 表名
4、删除表
DROP TABLE 表名;
drop table user1; --删除表user1
5、修改表名
RENAME TABLE 旧表名 TO 新表名;
ALTER TABLE RENAME 旧表名 TO 新表名;
6、修改表类型
ALTER TABLE 表名称 MODIFY 字段 字段定义;
alter table user_stu modify name_ID varchar(10); -- user_stu表的name_ID类型改变为varchar(10);
7、修改字段
a、新增
ALTER TABLE 表名称 ADD COLUMN 字段 字段定义;
alter table user_stu add modify name_ID int(10); --user_stu表新增一个字段,字段名为name_ID 类型为int
b、修改
ALTER TABLE 表名称 CHANGE 旧字段 新字段 字段定义;
# change 与 MODIFY 的区别:change可以改名称,但是需要写两次
c、删除
ALTER TABLES 表名称 DROP COLUMN 字段名称;
alter table user1 orop ID; --删除user1表的id列