【MySQL】:对库和表的基本操作方法

数据库使用的介绍

什么是SQL

  • 学习数据库的使用------>基于 SQL编程语言 来对数据库进行操作
    • 重点表述的是"需求",期望得到什么结果。(至于结果是如何得到的,并不关键,都是数据库服务器在背后做好了)

    • 重点表述的是"逻辑","做一件事,要怎么做"

    • 此处学习的 SQL 就是通过 mysql 的命令行客户端来进行输入(图形化客户端也是同理

      主流的数据库都是支持 SQL编程语言

      虽然不同数据库支持的 SQL语法 有细微差距,但整体思路是一样的

MySQL 客户端闪退的原因

  1. 密码不正确
  2. 数据库服务器没有正确启动

  • 在此处输入的"命令"就是 SQL 语句

这些输入的内容都会通过 mysql客户端,发送给 mysql服务器,由服务器程序负责执行


  • 之前谈到的数据库,指的是像 mysqloracle 这样的"软件"

  • 此处谈到的数据库,指的是数据库软件上,组织数据的"数据集合"

  • 硬盘上存储的数据,先划分成多个"数据库 "(逻辑上的数据集合,可以将一些有关联的数据表,放在同一个"数据库"中
    不过这些不同逻辑上的数据集合,物理上是存储在同一个服务器硬盘上的

    • 每个数据库里面又包含很多的"表"
    • 每个表中又包含若干行
    • 每个行里面又有若干列

"数据库"的含义

  1. 一类软件
  2. 组织数据的"数据集合"

对库的基本操作

1.查看当前有哪些数据库

  • 语法为:show databases;


2. 创建数据库

  • 语句为:create database 数据库名;

秒(s)--->毫秒(ms)--->微秒(us)--->纳秒(ns)--->皮秒(ps)


  • 创建数据库的时候,还需要指定数据库的"字符集"(charset)
  • 语句为:create database 数据库名 charset 字符集;

中文编码方案

  1. GBK,主要是在中国大陆使用,只表示简体字,此时一个汉字是 2 个字节
  2. UTF-8,属于变长编码,表示不同的符号,可以用 1-4 个字节来表示,对于中文汉字来说,一般是 3 个字节表示
  • UTF8 是当前世界上最流行的编码方式,不仅仅能表示中文,也能表示任何一种文字

  • if not exists ------>若不存在,则...

  • 为后续批量执行提供便利

  • collate ------>字符约束,面试字符串之间的比较规则

    后续会涉及字符串比较大小等...



3.选中数据库

  • 数据库组织数据的规则:

    1. 一个数据库服务器上有很多"数据库" ------>类似"文件夹"的感觉
    2. 一个数据库上有很多"数据表"
    3. 一个数据表上有很多"数据行"
    4. 一个数据行上有很多"数据列"
  • 语法为:use 数据库名;



4.删除数据库

  • 语法为:drop database 数据库名;
  • 一旦删除,就恢复不了了

怎么避免误删库

  1. 控制权限
    • 只有少数人能操作,普通开发只能"读操作",不能"修改"甚至"删库"。

DBA

  • 数据库管理员,专业玩数据库的
  • 一般中大厂才有,小公司较少
  • 非常吃经验,越老越吃香
  1. 及时备份数据库的数据
    • 将数据拷贝出来,存储在别的地方

一二三原则

  • 一份数据
  • 至少存在两个机器上
  • 至少有三个副本(拷贝出三份)
  1. 确实要进行"删库"危险操作,最好拉上一个人一起操作,看着你操作
    人脑有时候会出 bug

数据库的表操作

  • 先用 use 选中数据库
  • 语法为:use 数据库名;

查看当前数据库中有哪些表

  • 语法为:show tables;

创建表:

  • 语法为: create table 表名(列名 类型,列名 类型...);


    #-- 是注释前缀

查看表结构的详细情况

  • 主要是列的相关信息,,语法为:desc 表名;

相关推荐
Ai 编码助手2 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员2 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle2 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻2 小时前
MySQL排序查询
数据库·mysql
萧鼎2 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^2 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋33 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
荒川之神3 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师3 小时前
Oracle 23AI创建示例库
数据库·oracle
小白学大数据3 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫