SQL学习之SQL语法

学习源

基本概念

数据库管理系统(DBMS)

MySQL、Oracle、SQLite、Access、MS SQL Server等

其中又分为两大阵营:

  • 关系型数据库(有表结构)
    • MySQL属于关系型数据库(RDBMS)
  • 非关系型数据库(key、value的形式,没有表结构)

由来

# 数据库管理软件的由来:
# 数据想要永久保存,都是保存在文件中的,毋庸置疑,一个文件只能存放在一台机器上,
# 如果我们忽略掉直接基于文件来存取数据带来的效率问题,假设程序的所有组件都是运行在一台机器上,
# 则上述假设存在以下问题:
# 1. 整个程序的所有组件不可能运行在一台机器上
#    因为这台机器一旦宕机则意味着整个软件的崩溃;
#    一台机器的性能总归是有限的
#    对一台机器的性能垂直进行扩展是有极限的,
#      于是我们只能通过水平扩展来增强我们的系统性能,
#       也就是需要我们将整个程序的各个组件分布到多台机器上

# 2. 数据安全问题
#    虽然程序的各个组件分布到了多台机器上,但是他们仍是一个整体,
#    所以组件之间的数据还是要共享的。
#    每台机器上只能操作这台机器上的文件,实现不了数据共享,
#    于是我们想到了将数据与应用程序分离:
#    把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件(用socket实现),
#    既然要共享,那么就会带来竞争,竞争就会带来数据不安全,所以需要加锁处理。

# 3. 并发
#    基于问题2,
#    我们必须写一个socket服务端来管理这台机器(数据库服务器)上的文件,
#    后写一个socket客户端,完成如下功能:

#    1.远程连接(支持并发)
#    2.打开文件
#    3.读写(加锁)
#    4.关闭文件

# 如果我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),那么工作是非常繁琐的
# 于是有人将此类程序写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题,
# 总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

数据库

就想象成一个文件夹,是保存组织数据表的一个容器

数据表

含有字段的文件才是数据表,就想象成一个Excel表格,是某种有着特定类型的结构化清单

表记录

事物的一系列典型特征一条记录是进行操作的最小的单位,不可再分割。从技术上说,是

字段

表记录对应的标题

数据

描述事物特征的符号

SQL语句

  • SQL 的大小写不敏感
    • 长期的 SQL 编程实战表明,SQL 关键字大写是一种良好的编程行为
  • SQL 语句以;分号结尾
    • 在每条 SQL 语句的结尾使用分号,是 SQL 最佳实战中最重要的一条

最重要也是最常用的的 SQL 命令

SQL命令说明
SELECT从数据库中提取数据
UPDATE更新数据库中的数据
DELETE从数据库中删除数据
INSERT INTO向数据库中插入新数据
CREATE DATABASE创建新数据库
ALTER DATABASE修改数据库
CREATE TABLE创建新表
ALTER TABLE变更(改变)数据库表
DROP TABLE删除表
CREATE INDEX创建索引(搜索键)
DROP INDEX删除索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值