极简SQL入门知识

为了准备学习网络编程的知识,尝试从应用到原理的top-down方式学习,尝试对SQL入门,这里记载最精简的SQL入门知识,是从廖雪峰官网上学习的。

基本概念
  • SQL其意为structure query language,结构化查询语言。目标是替应用程序增删改查数据。其操作的对象是关系数据库,实际上就是可以实现一对多,多对一,一对一状态的表格。
  • 一对多的状态是常见的,比如一个班级对应多个学生;反过来多个学生对应一个班级就是多对一;一对一的情况多用于一个表格需要剔除主表格里的一些数据。
  • 主键的概念是每一条record都需要一个不会重复的field来表示它,这个字段不应该跟业务相关,在这张表里面应该是唯一的。外键是用一个字段将这张表与其他的表关联起来,外键是通过“外键约束”实现的。索引可以被用于创建于某一列,用于快速查找此列中的某些内容。通过创建“唯一索引”可以令某一列具有唯一性,比如身份证,不适合作为主键存在,可以给唯一索引。
基本语句

基本语句主要就是实现四个功能,即增删改查CRUD,create,retrieve,update,delete。
查询是SELECT
增加是INSERT
修改是UPDATE
删除是DELETE

查询语句
  • 查询表,SELECT表示查询,* 表示所有列,FROM表示要从哪个表开始。select可以查询到一个二维表,打 SELECT 1可以看看数据库连接是否正常。
    SELECT * FROM <table name>;
  • 条件查询,可以写比如score > 10这样的条件限定查询的范围,取出某个字段进行条件判断。可以用一些关键字比如AND OR NOT BETWEEN之类
    SELECT * FROM <table name> WHERE condition;
  • 投影查询,把*用列名替换可以单独查询某几列的内容。用,隔开每个列,如果要重命名,在列名后面直接增加重命名之后的列名即可
    SELECT a b, c d FROM <table name> WHERE condition;
  • 排序,ORDER BY,按某一栏进行排序,在ORDER BY xxx 后面加 DESC为倒序,还可以增加排序的规则,只要用,隔开即可。
    SELECT id, name, gender, score FROM students ORDER BY score DESC, gender;
  • 分页查询,LIMIT OFFSET , limit是按多少条内容一页,offset是从第几个行开始。
    SELECT id, name, gender, score
    FROM students
    ORDER BY score DESC
    LIMIT 3 OFFSET 20;
    
  • 聚合查询(也就是计算个数),COUNT还可以替换成MAX, MIN, AVG, SUM, CEILING, FLOOR等等,还可以执行分组聚合,使用关键词GROUP BY,例如:
    SELECT class_id, COUNT(*) num FROM students GROUP BY class_id;
  • 多表查询,在表名处写多个表,逗号隔开
  • 连接查询,在一张表中,如果有一些信息需要在其他表中获取,即在主表中显示附表的信息,可以用JOIN语句,ON来写链接主表和附表的条件,JOIN的方法有INNER,LEFT OUTER,RIGHT OUTER,FULL OUTER,inner指的是两个表都有的部分,LEFT OUTER指的是只显示主表(写在左边)有的部分,RIGHT OUTER是附表有的部分,FULL是全部的。
增加语句

基本语法是:
INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);(值1, 值2, ...)
可以插入多组值
例如:INSERT INTO students (class_id, name, gender, score) VALUES (2, ‘liu’, ‘M’, 80);

修改

基本语法是
UPDATE <表名> SET 字段1=值1, 字段2=值2, ... WHERE ...;
set就是重新设置的部分,可以使用表达式比如赋值语句等。可以不使用where限定。在修改时最好先用select 和where查询出是否选中的要改的内容

删除

基本语法是
DELETE FROM <表名> WHERE ...;

MySQL
  1. 使用mySQL的client端可以对mysql使用sql语句进行操纵,打开应用使光标变成mysql->之后可以输入SHOW DATABASES进行对数据库进行查看,其中information schema,performance schema和mysql是系统数据库,不要动它们。
  2. 创建的关键词是CREATE,删除的关键词是DROP, 修改的关键词是ALTER, 查询的关键词是SHOW
  3. 新增数据库mysql> CREATE DATABASE test;
  4. 删除数据库mysql> DROP DATABASE test;
  5. 转换到数据库USE test;
  6. 列出当前数据库的所有表mysql> SHOW TABLES;
  7. 查看此表(describe)的情况mysql> DESC students;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值