没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1 SQL 单表语句
DDL (数据定义语言)
数据定义语言 - Data Denition Language
用来定义数据库的对象,比如创建数据表(对数据库和数据表进行操作的)
create drop alter truncate (table)
DML (数据操纵语言)(★★★)
数据处理语言 - Data Manipulation Language
在数据库表中更新,增加和删除记录(对数据表中的表数据进行增删改)
如 update, insert, delete
DCL (数据控制语言)
数据控制语言 – Data Control Language
指用于设置用户权限和控制事务语句(事务)
如 grant,revoke,if…else,while,begin transaction
DQL (数据查询语言)(★★★★★)
数据查询语言 – Data Query Language(对数据表中的表数据进行查询)
select
库的操作
创建库:create database 库名 character set 编码表;
删除库:drop database 库名;
查询库:show databases;
查看库的编码表:show create database 库名;
更改库:use 库名;
查看当前正在使用的库:select database();
修改库的编码表:alter database 库名 character set 编码表;
表本身的操作
创建表:create table 表名( 列名 列的类型(长度) 类的约束 ,列名 列的类型(长度) 类的约束...... );
删除表:drop table 表名;
查询表:show tables;
查看表的结构:desc 表名;
查看表的编码表:show create table 表名;
修改表:alter table 表名 增/删/改 列名 列的类型(长度) 约束;
add/drop/change/modify
修改表名:rename table 旧表名 to 新表名;
表中数据的操作
增:insert into 表名(列名) values(值);
删:delete from 表名 where 条件; truncate 表名 删除表数据
改:update 表名 set 列名=值 ,列名=值 where 条件 ;
查:select 列名 as 别名 ,列名 as 别名… from 表名 where 条件 group by 列名 having 条件
order by 排序. -- where 中不能够用聚合函数,也不能‘直接’用别名
查询排重:select distinct 列名 from 表名 where 条件;
聚合函数:
count 统计个数、sum 求和、avg 平均值、max、min
在使用这几个函数进行数据的统计分析时,有时需要对数据表中的列进行数据的分组处理 。
group by
分组 group by :
排序:order by 列名 asc | desc;
约束:
主键约束:primary key id int primary key auto_increment
唯一约束:unique 内容不允许重复,可以为 null(null 不算重复)。
非空约束:not null 。不允许为空。 表示该列的内容不允许为空。
删除:清空数据
truncate table 表名
通过删除整张表之后再重新创建一张表来达到清空数据的目的。
delete 和 truncate 的区别是 delete 删除的数据在事务管理的情况下还能恢复,而 truncate 则不能恢复。
CRUD:create read / retrive update delete
2 数据库备份
语法:mysqldump -u 用户名 -p 数据库名 > 磁盘 SQL 文件路径
恢复方式:
1 种: 创建新库 导入:source 路径
2 种: 创建新库 语法:mysql -u 用户名 -p 导入库名 < 硬盘 SQL 文件绝对路径
注意:在 cmd 下使用,不是登录 mysql 后使用,和备份比较类似,只不过 mysql 后面不带
dump,并且箭头是<,指向需要导入数据的新的数据库。
3 多表设计
一对多
建表之后添加外键约束
一,主表
多,从表
语法 : alter table 从表名称 add foreign key (外键列的名称) references 主表名称(主键)
alter table employee add dept_id int;
alter table employee add foreign key (dept_id) references dept(id);
建表时添加外键约束;
create table employee(
id int primary key auto_increment,
name varchar(20),
age int ,
salary double,
dept_id int,
foreign key (dept_id) references dept(id)
);
自关联
创建表的语句
create table area(
id varchar(10) primary key,
name varchar(10),
description varchar(10),
parent_id varchar(10),
foreign key(parent_id) references area(id)
);
多对多
关联主键
需要中间表来存放双方的键
-- 创建中间表
create table coder_project(
coder_id int,
project_id int,
foreign key (coder_id) references coder(id),
foreign key (project_id) references project(id)
);
一对一
关联主键
任意一方设置一个外键关联即可
剩余22页未读,继续阅读
资源评论
WASIQI
- 粉丝: 6
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功