SQL示例
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
SQL(Structured Query Language结构化查询语言)是一种高级的语言,通过SQL语句我们可以操作关系型数据库,如:创建、更新、查询和删除记录。SQL定义了一组实现这类功能的命令:如:SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE等。
SQL示例
这里我们已经在数据库“studentdb”中创建好一个表“class101”,这个表有三个字段id, name和gpa(Grade Point Average - 平均分)。对于表的列我们需要为其指定数据类型,此处我们给id指定为int类型,gpa指定为float类型,name指定为varchar(50)(长度可变,最长50个英文字符)。表中已经写入了3条数据。
Database: studentdb
Table: class101
+-----------+--------------------+-------------+
| id (INT) | name (VARCHAR(50)) | gpa (FLOAT) |
+-----------+--------------------+-------------+
| 11 | Tom | 4.4 |
| 33 | Jack | 4.8 |
| 44 | Kevin | 4.6 |
+-----------+--------------------+-------------+
SQL为我们提供了简单并且直观的方式用于实现关系型数据库的交互。
SELECT语句
-- 语法
SELECT column1, column2,... FROM tableName WHERE criteria
SELECT * FROM tableName WHERE criteria -- 查询所有列
-- 示例
SELECT name, gpa FROM class101
-- 查询表class101中的name和gpa字段
SELECT * FROM class101
-- *表明查询表class101中的全部字段
SELECT name, gpa FROM class101 WHERE gpa >= 2.0
-- 你可以将以下操作符用于数字的比较:=, >, <, >=, <=, <> (!=)
SELECT name, gpa FROM class101 WHERE name = 'Tom'
-- 完全匹配字符串 (= or !=),字符串必须由单引号'括起来
SELECT name, gpa FROM class101 WHERE name LIKE 'K_v%'
-- "LIKE"用于字符串模糊匹配
-- 通配符%匹配0个或多个字符
-- 通配符_匹配1个字符
SELECT * FROM class101 WHERE gpa > 3.0 OR name LIKE '%K_v%' ORDER BY gpa DESC, name ASC
-- 在查询条件中我们可以使用AND(与),OR(或),NOT(非)
-- 结果的排序可以使用DESC(倒序)或ASC(正序)
在线练习
{$ activeFileHint $}