一.数据库
- 数据库相关概念
数据库:存储数据的仓库,数据是有组织的进行存储
英文DataBase简称DB
数据库管理系统:是管理数据库的大型软件
英文DataBase Management System简称DBMS
SQL(Structured Query Language)简称SQL,结构化查询语言
操作关系型数据库的编程语言
定义操作所有关系型数据库的统一标准
- 登陆msql
mysql -u用户名 -p
-h为ip地址默认127.0.0.1
-P为端口号默认为3306
2.MySQL数据模型
关系型数据库:关系型数据库是建立在关系模型的基础上的数据库,关系型数据库是由多张能互相连接的二维表组成的数据库,优点
- 都是使用表结构,格式一致,易于维护
- 使用通用的SQL语言结构,使用方便可用于复杂查询
- 数据存储在磁盘中,安全
二.SQL
SQL:Structured Query Language 简称SQL
结构化查询语言,一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准,对于同一个需求,每一种数据库操作的方式可能存在一些不一样的地方。
语法:
1. SQL语句可以单行或多行书写,以分号结尾
2. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
3. 注释
单行注释:-- 注释内容或者#注释内容
多行注释:/*注释*/
SQL语句分类
DDL数据定义语言,用来定义数据库对象,定义数据库,表i,列等
DML数据操作语言,用来对数据库表中的数据进行增删改
DQL数据查询语言,用来查询数据库中表的记录(数据)
DCL数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户。
DDL
创建数据库create databases db1;
删除数据库 drop database db1;
使用数据库 use
当前使用的数据库是哪个select database();#database()为函数
查询表
查询当前数据库下的表show tables;
查询表的结构desc table 表名;
创建表 create table 表明{
字段1 数据类型1,
字段2 数据类型2,
字段n,数据类型n
}
最后一行末尾不能加逗好
MySQL支持多种类型,可以分为三类
数值、日期、字符串
删除表
Drop table 表名;
删除表时判断表是否存在
Drop table if exists 表名;
修改表
修改表名
Alter table 表名 rename to 新的表名;
添加一列
Alter table 表名 add列名 数据类型;
修改数据类型
Alter table 表名 modify 列名 新的数据类型;
修改列名和数据类型
Alter table 表名 change 列名 新列名 新数据类型
删除列
Alter table 表名 drop 列名;
DML
添加数据
给指定列添加数据
Insert into 表名(列名1,列名2……) values(值1,值2….);
给全部列添加数据
Insert into 表名 values(值1,值2,…..)
批量添加数据
Insert into 表名(列名1,列名2…..) values(值1,值2…..),(值1,值2…..)……;
Insert into 表名 values(值1,值2…),(值1,值2)…;
修改数据
Update 表名 set 列名1=值1,列名2=值2……,[where 条件];
删除数据
Delete from 表名 [where 条件];#不加条件默认全部删除
DQL
查询数据
排序查询
Select 字段列表 from 表名 order by 排序字段名1 [排序方式1],字段名2 [排序方式2]…;
排序方式:
ASC:升序默认值
Desc:降序
如果有多个排序条件,当前边的条件值不一样时,才会根据第二条件进行排序
分组查询
分页查询
二.约束、数据库设计、多表查询、事务
约束
数据库设计
多表查询
事务