数据库Day1
📌SQL分类
DDL:操作数据库,表等
DML:对表中的数据进行增删改
DQL:对表中的数据进行查询
DCL:对数据库进行权限控制
📌DDL -- 操作数据库
思维导图
查询
show datebase;
创建
创建数据库
create datebase 数据库名称;
创建数据库(判断,如果不存在则创建)
CREATE DATABASE IF NOT EXISTS 数据库名称;
删除
删除数据库
DROP DATABASE 数据库名称;
删除数据库(判断,如果存在则删除)
DROP DATABASE IF EXISTS 数据库名称;
使用数据库
查看当前使用的数据库
SELECT DATABASE();
使用数据库
USE 数据库名称;
总结
| DDL语句操作 | 关键字 |
| 创建 | create database 数据库名; |
| 使用 | use 数据库名; |
| 删除 | drop database 数据库名; |
select database(); -- 创建数据库 create database db1; -- 判断是否存在,并创建数据库 create database if not exists db2; -- 查看所有数据库 show databases; -- 删除数据库 drop database db2; drop database if exists db2; -- 查看正在使用的数据库 select database(); -- 使用数据库 use db1;
📌DDL—操作数据表
思维导图
DDL语言: 操作数据库、数据表 (创建、修改、删除)
创建表
创建表
CREATE TABLE 表名
( 字段名1 数据类型1,
字段名2 数据类型2, ...
字段名n 数据类型n );
注意:最后一行末尾,不能加逗号
- 查看某个数据库中的所有表:show tables
- 查看表结构:desc 表名
# 创建表 create table student ( id int, name varchar(10), -- varchar 是可变长字符串 gender char(1), -- char 是固定字符串 birthday date, score double, email varchar(64), tel varchar(20), status int );
数据类型
MySQL 支持多种类型,可以分为三类:
- 数值
- 日期
- 字符串
类型 描述 int 整型 double 浮点型 varchar 字符串型 date 日期类型,
格式为 yyyy-MM-dd,
只有年月日,没有时分秒;
删除表
1. 删除表
DROP TABLE 表名;
# drop table student; // student 是表名2. 删除表时判断表是否存在
DROP TABLE IF EXISTS 表名;
-- 删除表时判断表是否存在 drop table if exists student;
修改表
- 修改表名
ALTER TABLE 表名 RENAME TO 新的表名;-- 1 修改表名 # mystudent1 原来的表名 mystudent2 新的表名 alter table mystudent1 rename to mystudent2; show tables; -- 查看表名
- 添加一列
ALTER TABLE 表名 ADD 列名 数据类型;-- 2 在表中加一列 alter table mystudent2 add remark varchar(20);
- 修改数据类型
ALTER TABLE 表名 MODIFY 列名 新数据类型;-- 3 修改数据类型 alter table mystudent2 modify remark varchar(100);
- 修改列名和数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;-- 4 修改列名和数据类型 alter table mystudent2 change remark intro varchar(20);
- 删除表中存在的列
ALTER TABLE 表名 DROP 列名;-- 5 删除列 alter table mystudent2 drop intro;
查询表
desc 查看表结构
desc 表名
desc mystudent2;
DML
DML语言: 针对数据表中的记录进行增、删、改操作
# 创建表 create table student ( id int, name varchar(20), gender char(1), birthday date ); # 查看表结构 desc student; -- 向表中添加数据 (行记录) -- 1 向数据表中指定列添加数据 insert into stu(id,name) values (1,'李四'); #SQL语句中字符串用单引号 -- 2 向数据表中的所有列添加数据 insert into stu(id,name,gender,birthday) values(2,'王五','男','2026/7/5');# data数据类型也要用单引号 insert into stu values(3,'张三','女','2026/7/6'); -- 3 向数据表中批量添加数据 insert into stu(id,name) values(4,'赵六'),(5,'王一'),(6,'张五'); select * from stu;
修改表中的数据update
# 删除表中数据 -- 删除表中 id 为1 的行记录 delete from student1 where id=1; -- 删除表中 id 为1和2 的行记录(多行记录) delete from student1 where id in(3,4);
-- update 修改数据 -- 修改姓名 update student1 set name='张63' where id=2; -- 将表中id 为2 的性别修改成男性 update student1 set sex='男' where id=2; -- 将表中id 为3 的年龄修改成27 update student1 set age=27 where id=3; -- 一次性修改多个列 update student1 set sex='男' ,address='宁波' where id=4;
删除表中的数据(delete)
# 删除表中数据 -- 删除表中 id 为1 的行记录 delete from student1 where id=1; -- 删除表中 id 为1和2 的行记录(多行记录) delete from student1 where id in(3,4);
