1.mysql介绍
1.mysql
MySQL是一个关系型数据库管理系统,是C/S结构的软件(客户端与服务器端都要安装),由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品
SQL指Structured Query Language(结构化查询语言),SQL分为三个部分
- DDL(Data Defination language):数据定义语言,用来维护数据的结构(数据库,表),如:create,drop
- DML(Data Manipulation language):数据操作语言,用来对数据进行操作,如:insert,delete update,DML内部又可以进行分类
- DQL(Data Query Language):数据查询语言,如select
- DCL(Data Control Language):主要负责权限管理
2.mysql交互过程
- 客户端连接认证
MySQL.exe -h主机名 -p端口号 -u用户名 -p密码 来连接到sql服务器
- 客户端发送SQL指令
- 服务端接收SQL指令
- 客户端接收结果: 显示结果
- 断开链接(释放资源):简单却重要的一步
3.与非关系数据库的区别
关系数据库:安全性高(保存在磁盘中不易丢失),二维表格结构容易理解,但会浪费空间
非关系型数据库:安全性低(断电后丢失),效率高,资源占用少
2.mysql基本操作-增查改删
1.库操作
1.增加数据库
create database 数据库名 [库选项] ;
库选项包含两个
1.字符集设定: charset/character set utf8
2.校对集设定:collate 具体校对集(数据比较的规则)
2.查询数据库
1.查看所有数据库:
show databases;
2.查看指定部分的数据库: 模糊查询
Show databases like ‘pattern’; -- pattern是匹配模式
%: 表示匹配多个字符
_: 表示匹配单个字符
3. 查看数据库的创建语句: show create database 数据库名字;
3.更新数据库
数据库名字不可以修改.
数据库的修改仅限库选项: 字符集和校对集(校对集依赖字符集)
Alter database 数据库名字 [库选项];
Charset/ character set [=] 字符集
Collate 校对集
4.删除数据库
Drop database 数据库名字;
2.表操作
任何表设计首先要指定数据库,指定数据库有两种方法
1.显式指定数据库 如
create table 表名称.数据库();
2.隐式的指定数据库,在设计前进入数据库环境
use 数据库名;
1.增加表
Create table [if not exists] 表名
(
字段名字 数据类型,
字段名字 数据类型 -- 最后一行不需要逗号
)[表选项];
If not exists: 如果表名不存在,那么就创建,否则不执行创建代码: 检查功能
表选项:字符集: charset/character set 具体字符集; -- 保证表中数据存储的字符集
校对集: collate 具体校对集;
存储引擎: engine 具体的存储引擎(innodb和myisam)
2.查看表
查看所有表: show tables;
查看部分表: 模糊匹配: show tables like 'pattern'
查看表的创建语句: show create table 表名;
查看表结构:Desc/describe/show columns from 表名;
3.更改表
表本身可以修改: 表名和表选项
修改表名: rename table 老表名 to 新表名;
修改表选项: 字符集,校对集和存储引擎
Alter table 表名 表选项 [=] 值;
4.删除表
Drop table 表名1,表名2...; -- 可以一次性删除多张表
3.数据操作
1.新增数据
给所有字段插入数据
Insert into 表名 values(值列表)[,(值列表)]; -- 可以一次性插入多条记录
给部分字段插入数据
Insert into 表名 (字段列表) values (值列表)[,(值列表)];
2.查看数据
Select */字段列表 from 表名 [where条件];
3.更改数据
Update 表名 set 字段 = 值 [where条件]; -- 建议都有where: 否则更新全部
4.删除数据
Delete from 表名 [where条件];