
数据库使用的介绍
什么是SQL
- 学习数据库的使用——>基于 SQL编程语言来对数据库进行操作-  重点表述的是“需求”,期望得到什么结果。(至于结果是如何得到的,并不关键,都是数据库服务器在背后做好了) 
-  重点表述的是“逻辑”,“做一件事,要怎么做” 
-  此处学习的 SQL就是通过mysql的命令行客户端来进行输入(图形化客户端也是同理)
 主流的数据库都是支持SQL编程语言
 虽然不同数据库支持的SQL语法有细微差距,但整体思路是一样的
 
-  
MySQL 客户端闪退的原因
- 密码不正确
- 数据库服务器没有正确启动
- 在此处输入的“命令”就是 SQL 语句
  
这些输入的内容都会通过
mysql客户端,发送给mysql服务器,由服务器程序负责执行
-  之前谈到的数据库,指的是像 mysql,oracle这样的“软件”
-  此处谈到的数据库,指的是数据库软件上,组织数据的“数据集合”  
-  硬盘上存储的数据,先划分成多个“数据库”(逻辑上的数据集合,可以将一些有关联的数据表,放在同一个“数据库”中 ) 
 不过这些不同逻辑上的数据集合,物理上是存储在同一个服务器硬盘上的- 每个数据库里面又包含很多的“表”
- 每个表中又包含若干行
- 每个行里面又有若干列
 
“数据库”的含义
- 一类软件
- 组织数据的“数据集合”
对库的基本操作
1.查看当前有哪些数据库
- 语法为:show databases;
  
2. 创建数据库
- 语句为:create database 数据库名;
  
秒(s)—>毫秒(ms)—>微秒(us)—>纳秒(ns)—>皮秒(ps)
- 创建数据库的时候,还需要指定数据库的“字符集”(charset)
- 语句为:create database 数据库名 charset 字符集;
  
中文编码方案
GBK,主要是在中国大陆使用,只表示简体字,此时一个汉字是 2 个字节
UTF-8,属于变长编码,表示不同的符号,可以用 1-4 个字节来表示,对于中文汉字来说,一般是 3 个字节表示
UTF8是当前世界上最流行的编码方式,不仅仅能表示中文,也能表示任何一种文字
-  if not exists——>若不存在,则…
-  为后续批量执行提供便利 
  
-  collate——>字符约束,面试字符串之间的比较规则
 后续会涉及字符串比较大小等…
3.选中数据库
-  数据库组织数据的规则: - 一个数据库服务器上有很多“数据库” ——>类似“文件夹”的感觉
- 一个数据库上有很多“数据表”
- 一个数据表上有很多“数据行”
- 一个数据行上有很多“数据列”
 
-  语法为: use 数据库名;
  
4.删除数据库
- 语法为:drop database 数据库名;
- 一旦删除,就恢复不了了
  
怎么避免误删库
- 控制权限 - 只有少数人能操作,普通开发只能“读操作”,不能“修改”甚至“删库”。
 
DBA
- 数据库管理员,专业玩数据库的
- 一般中大厂才有,小公司较少
- 非常吃经验,越老越吃香
- 及时备份数据库的数据 - 将数据拷贝出来,存储在别的地方
 
一二三原则
- 一份数据
- 至少存在两个机器上
- 至少有三个副本(拷贝出三份)
- 确实要进行“删库”危险操作,最好拉上一个人一起操作,看着你操作
 人脑有时候会出 bug
数据库的表操作
- 先用 use 选中数据库
- 语法为:
use 数据库名;
查看当前数据库中有哪些表
- 语法为:show tables;
  
创建表:
- 语法为: create table 表名(列名 类型,列名 类型...);
  
  
 #和--是注释前缀
查看表结构的详细情况
- 主要是列的相关信息,,语法为:desc 表名;
  

