当前位置: 首页 > news >正文

数据库基础

数据库基础

一个服务器(DBMS 数据库管理系统)上能储存多个数据库,一个数据库中能储存多个表,一个表中能添加多个记录

主键 primary key
这里的主键是student_id,不得重复

student_id
name major
1 小黑 生物
2 小白 历史

|3|小绿|英语|
|4|小黄|生物|

关系型数据库

就是由多个有关系的二维表组成的数据库

有关系的二维表
如下面的例子,第一个表是员工表,第二个表是公司表,二者通过了第一个表的dept_id与与第二个表的id相互连接

id name job dept_id
1 猪头 CTO 2
2 秃头 教师 1
3 贵头 学生 3
id name
1 数字电路公司
2 知识图谱公司
3 人工智能公司

SQL的通用语法

mysql语句不区分大小写,但是建议关键字使用大写,统一规范
单行注释可以使用--表示 其中MySQL特有的是#
多行注释使用/*注释内容*/

SQL分类

  • DDL语句,Data Definition Language 数据定义语言,用来定义数据库对象
  • DML语句,Data Manipulation Language 数据操作语言,增删查改数据表中的数据
  • DQL语句,Data Query Language 数据查询语言
  • DCL语句,Data Control Language 数据控制语言,用来创建数据库用户、 控制数据库的访问权限的语言

DDL

  • 查询所有数据库 SHOW DATABASES;
  • 创建数据库 CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
  • 删除数据库 DROP DATABASE [IF NOT EXISTS] 数据库名;
注意这个地方的EXISTS后面的S

SHOW DATABASES; --查询数据库
CREATE DATABASE student; --创建数据库
/*如果再次执行 创建名为student的数据库会报错*/
CREATE DATABASE IF NOT EXISTS student; --如果执行时在数据库的名字前面加上IF NOT EXISTS 就不会报错,但是会弹出警告,且数据库没有任何变化
CREATE DATABASE AIstudent DEFAULT CHARSET utf8mb4;

注意,这个地方使用的字符集是utf8mb4,因为utf8支持的是三个字节的字符,但是很多中文较为生僻的是四个字符,比如表情符号,或者是历史汉字𠀀
其次,我创建这个名称为AIstudent的数据库的时候发现了,我创建完之后查询结果是aistudent,这是为什么呢?

我查询了一下,这种情况我们需要查询我们的数据库名和表名的大小写参数lower_case_table_names

我们通过下面的语句查看大小写设置

SHOW VARIABLES LIKE 'lower_case_table_names';

我的电脑返回值是如下所示

image

结果 操作系统
0 大小写敏感 Linux
1 统统转换为小写 Windows
2 按照原样储存,但是只是显示和比较时候变成了小写 MacOS

很明显,我的Windows电脑上的参数是1,它给我统统转换成了小写!

那我们怎么修改这个参数呢?

就不告诉你,改参数是个很危险的行为,想要的话自己去查,我不背这个锅...

删除数据库和创建数据库是一个道理,只不过需要注意一下关键词DROP,不要记混

使用(进入)数据库 USE 数据库名称;
进入数据库后我们使用语句

SELECT DATABASE();

即可查看我们当前所在的数据库名,使用这个操作时候注意后面有一个括号

既然我们已经知道了怎么进入数据库了,那么我们就引出了一个新的问题:如何退出数据库

  • 切换数据库,即便你已经进入了一个数据库了,你仍然可以在当前数据库中切换到另外一个数据库
USE another_database;
  • 切换到无数据库的状态
USE ;
  • 上述操作都是不退出sql下的操作,那么退出sql呢?
exit;quit;\q;
http://www.hskmm.com/?act=detail&tid=17496

相关文章:

  • 【System Beats!】第三章 程序的机器级表示
  • 苍穹外卖-day06(HttpClient) - a
  • Python 虚拟环境管理-学习笔记分享
  • 元人文AI的领域化部署:从哲学构想到实践应用的完整路径
  • 做题记录3
  • oucaiclub_cheapter1
  • navicat
  • 20250925 之所思 - 人生如梦
  • 在CodeBolcks下wxSmith的C++编程教程——在屏幕上绘图和保存绘图
  • 苍穹外卖-day07(缓存菜品,缓存套餐,添加购物车,查看购物车,清空购物车) - a
  • 一次CPU飙升问题排查定位
  • ros2 control 2
  • 基于洞察的智能编程法——从直觉到代码的原型炼成术
  • lc1036-逃离大迷宫
  • 9.25学习笔记
  • 新学期每日总结(第4天)
  • VSCode 升级 C++支持版本
  • 第四天
  • 25.9.25
  • 在electron-vite使用ShadCN
  • 每日博客(补)
  • 如何使用极限网关实现 Elasticsearch 集群迁移至 Easysearch
  • 文档抽取技术:实现金融保险业务流程自动化
  • 算法作业
  • C#学习3
  • 9-23
  • 9-26
  • Ubuntu Uninstall App
  • 20250925
  • 题解:P2662 牛场围栏