1.数据库与SQL语言
- 什么是数据库
数据库顾名思义就是存放数据的仓库,当我们的数据量很大时,就需要一个容器(仓库)来存放数据,这个存放数据的容器就称为数据库。
- 数据库管理系统–MySQL
数据库管理系统,简称DBMS(Database Management System)是为管理数据库而设计的电脑软件系统,对数据进行增删改查(CRUD)操作。MySQL是关系型数据库管理系统的一种。
SQL语言是用来操作数据库管理系统,实现数据增删改查操作的一种编程语言
2.SQL语言–四类
2.1 DDL语言
- 数据定义语言(Data Denifition Language)
- DDL语言帮助我们完成数据库创建和结构修改,即针对数据库和表进行增删改操作
- 创建或修改数据库/表结构,属于结构性操作,不涉及具体存储的数据
2.1.1 创建数据库
- 类比Excel创建操作步骤:新建Excel–sheeet–填入数据
- 创建数据库操作步骤:新建数据库(Data Base)–新建表(Table)–插入数据/更新数据/删除数据
- 创建或修改数据库/表结构,属于结构性操作,不涉及具体存储的数据。
- 语法格式:create database 数据库名称;
#举例
create database db1;
- 创建数据库时就指定字符集编码
- 语法格式:create database 数据库名称 character set 字符集名称;
#举例
create database db1_1 character set utf8;
- 延伸操作1
切换数据库,涉及函数:use
#举例
use db1;
- 延伸操作2
查看当前所使用数据库,涉及函数:select
#举例
select database();
- 延伸操作3
查看MySQL中所有数据库,涉及函数:show
#举例
show databases;
- 延伸操作4
查看数据库定义信息,语法格式:show create database 数据库名称;
#举例
show create database db1;
2.1.2 修改或删除数据库
- 涉及函数:修改–alter 删除–drop
- 语法结构:alter database 数据库名称 修改的内容;
- 语法结构:drop database 数据库名称;
#举例
alter database db1 character set utf8;
drop database db1;
2.2.3 创建表
- 语法格式:create table 表名(字段名1 类型,字段名2 类型,…);
- 一个数据有n个表,表中有字段(列),在建表的时候就需要定义好字段(指定字段属性–字段数据类型+字段长度)
- 常用的数据类型如下:
int 整型
double 浮点型
varchar 字符串型:可变长 节省空间,查询效率不高
date 日期类型,只有年月日,没有时分秒
char 字符型:定长 耗费空间,查询效率高
#举例
create table category(cid int,cname varchar(20));
- 复制表结构创建表(只复制表结构),语法格式:create table 表名称 like 现有表名称;
#举例
create table category_1 like category;
- 延伸操作1
- 查看表结构,涉及函数:desc
#举例
desc category;
- 延伸操作2
- 查看数据表的建表语句,语法格式:show create table 表名;
#举例
show create table category;
2.2.4 删除表
- 删除数据库/表用drop,删除数据用delete
- 语法格式:drop 表名;
#举例
drop category;
- 延伸操作
- 判断存在再删除,语法格式:drop if exists 表名;
#举例
drop if exists category;
2.1.5 修改表结构
- 涉及函数:修改–alter
- 语法结构:alter命令+不同的动作(add,modify,change,drop…)
#举例
#需求1 重命名表 语法格式:rename table 原表名 to 新表名;
rename table category to category1;
/*需求2 为表添加字段 语法格式:alter table 表名 add 字段名称 字段
类型;
*/
alter table category1 add cremark varchar(20);
/*需求3 修改表中某个字段类型 语法格式:alter table 表名 modify
字段名称 字段类型;
*/
alter table category1 modify cremark varchar(50);
/*需求4 更换表中某个字段 语法格式:alter table 表名 change 被更
改字段名称 更改后字段名称 更改后字段类型;
*/
alter table category1 change cremark cads varchar(30);
#需求5 删除表中某个字段 语法格式:alter table 表名 drop 字段名称;
alter table category1 drop cads;
2.2DML语言
数据操纵语言(Data Manipulation Language)
- DML语言帮助我们完成对table数据表中数据进行的增删改操作
2.2.1 插入数据
- 涉及函数:插入–insert into
语法格式:insert into 表名(字段1,字段2,…)values(字段值1,字段值2,…);
三种方式
- 方式一:插入数据时把所有字段名称全部显示写出
举例
insert into student(sid,name,age,sex,address) values(1,"张三",18,"女","北京");
- 方式二:插入全部字段,不再写字段名称
举例
insert into student values(2,"李四",20,"男","上海");
- 方式三:插入指定字段的数据值
#举例
insert into student(name,address) values("王五","杭州");
- 2.2.2 修改数据
- 涉及函数:修改/更新–update
语法格式1:不带条件的修改
update 表名 set 字段名=值;
举例
update student set address="苏州"
语法格式2:带条件的修改
update 表名 set 字段名=值 [where 条件表达式:字段名=值];
举例
update student set address="杭州" where name="王五";
- 2.2.3 删除数据
- 涉及函数:删除–delete
语法格式1:删除所有字段
delete from 表名;
举例
delete from student;
语法格式2:指定条件删除数据
delete from 表名 [where 字段名=值];
举例
delete from student where sid=1;
- 如果要删除表中所有数据有两种做法:
1) delete from 表名;
有多少条数据,执行多少次操作,效率低。
2) truncate table 表名;
先删除整张表,然后再建一张一模一样的空表,效率高。
2.3 DQL语言
数据查询语言(Data Query Language)
- DQL语言帮助我们完成针对数据表中数据的查询操作
涉及函数:查询–select
语法格式1:不带条件的查询
select * from 表名;
举例
select * from student;
语法格式2:带条件的查询
select * from 表名 where 字段名=值;
举例
select * from student where sid=1;
2.4 DCL语言
数据控制语言(Data Controll Language)
- DQL语言帮助我们完成事务的提交或回滚等操作