MySQL数据库
MySQL数据库
一、简介
1、数据库的英文单词: DataBase 简称 : DB
Structured Query Language:结构化查询语言,定义了操作所有关系型数据库的规则。
2、 数据库的特点:
(1). 持久化存储数据的。其实数据库就是一个文件系统
(2). 方便存储和管理数据
(3). 使用了统一的方式操作数据库 – SQL
3、注释
–或者#或者/* */
4、分类
1) DDL(Data Definition Language)数据定义语言
2) DML(Data Manipulation Language)数据操作语言
3) DQL(Data Query Language)数据查询语言
4) DCL(Data Control Language)数据控制语言(了解)
二、DDL操作
1、数据库
(1). C(Create):创建
创建数据库:
* create database 数据库名称;
创建数据库,判断不存在,再创建:
* create database if not exists 数据库名称;
创建数据库,并指定字符集
* create database 数据库名称 character set 字符集名;
(2). R(Retrieve):查询
查询所有数据库的名称:
* show databases;
查询某个数据库的字符集:查询某个数据库的创建语句
* show create database 数据库名称;
(3). U(Update):修改
修改数据库的字符集
* alter database 数据库名称 character set 字符集名称;
(4). D(Delete):删除
删除数据库
* drop database 数据库名称;
判断数据库存在,存在再删除
* drop database if exists 数据库名称;
(5). 使用数据库
查询当前正在使用的数据库名称
* select database();
使用数据库
* use 数据库名称;
2、操作表
(1) C:创建
create table 表名(
列名 数据类型);
(2)R:查询
查询某个数据库中所有的表名称
* show tables;
查询表结构
* desc 表名;
(3)U:修改
修改表名
alter table 表名 rename to 新的表名;
修改表的字符集
alter table 表名 character set 字符集名称;
添加一列
alter table 表名 add 列名 数据类型;
修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
删除列
alter table 表名 drop 列名;
(4)D:删除
* drop table 表名;
* drop table if exists 表名 ;
三、DML操作
1、添加数据
* insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);
2、删除数据
* delete from 表名 [where 条件]
* 注意:
* 如果要删除所有记录
(1). delete from 表名; – 不推荐使用。有多少条记录就会执行多少次删除操作
(2). TRUNCATE TABLE 表名; – 推荐使用,效率更高 先删除表,然后再创建一张一样的表。
3、修改数据
* update 表名 set 列名1 = 值1, 列名2 = 值2,… [where 条件];
四、DQL操作
1、语法
select字段列表from表名列表where条件列表group by分组字段having分组之后的条件
order by排序limit分页限定
2、排序方式
* ASC:升序,默认的。
* DESC:降序。
五、约束
1、分类
(1). 主键约束:primary key
(2). 非空约束:not null
(3). 唯一约束:unique
(4). 外键约束:foreign key
2、 级联操作
(1). 添加级联操作
语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名称
FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE ;
(2). 分类:
级联更新:ON UPDATE CASCADE
级联删除:ON DELETE CASCADE