介绍
数据库分类
- 关系型数据库:Oracle、SQL-Server、MySQL,、Sybase、DB2
- 非关系型数据库:No SQL、Redis、MongoDB、HBase
数据库设计三大范式
- 列不可分:每一个字段要求不能再分割了
- 实体(行)的属性完全依赖于主关键字
- 属性不依赖于其它非主属性
SQL的级别
- DML:数据库操作管理语言
- DDL:数据定义语言,对保存数据的格式进行定义
- DCL:数据库控制语言,针对数据库服务进行管理操作
- DQL:数据库查询语言
使用命令登录MySQL
数据库操作
| show databases; |
| |
| use databasename; |
| |
| select database(); |
| |
| create database databasename; |
| |
| Drop database dbname; |
| |
数据库表
| show tables; //切换某个库之后,查看所有表 |
| |
| desc 表名; // 查看表结构 |
| |
| create table tablename; // 创建表 |
| |
| drop table tablename; // 删除表 |
| |
| delete from tablename; // 删除表中所有数据 |
| |
用户管理
| create user user1; |
| |
| create user 'user2'@'localhost' identified by '123456'; |
| |
| mysql -uuser2 -p |
| |
| |
| use mysql; |
| select user,host from user; |
| |
| show grants; |
| |
| drop user 用户名[@‘主机’] |
| flush privileges; |
| |
增加
| insert into tablename (字段1,字段2) value ('值1', '值2'), ('值3', '值4'); // 插入行 |
| |
| insert into tablename set 字段名1='值1', 字段名2='值2'; // 插入行 |
| |
| insert into tablename1 select * from tablename2; // 将表2的数据插入表1 |
| |
| ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER]; // 插入列 |
| |
| ALTER TABLE 表名 ALTER 字段名 SET DEFAULT 默认值; // 指定列设置默认值 |
| |
删除
| delete from tablename where 字段=值; // 删除行 |
| |
| Alter table table_name drop column_name; // 删除列 |
| |
修改
| alter table 表名 modify column 字段名 类型; // 修改字段类型 |
| |
| ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型; // 修改字段名称 |
| |
| update tablename set 字段1=修改的值1, 字段2=修改的值2 where 字段=值; // 更新行 |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术