代码实现sql编译器_SQL之突然入门

b32373bceea1bb5d0bb03b64efe92217.png

简单粗暴的SQL到底有多直白?

在对数据库有了大概的了解后,不妨让我们先来小小地玩一玩,创建一个自己的数据库 (Database)~

毕竟实践出真知。

代码什么的,听讲一万遍也不如自己敲一遍。

这里推荐一个网站:

SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions.​www.sqlfiddle.com
39544a1a725202709b89ad275eae1aaf.png

有不少朋友在试图学习SQL之初被本地安装MySQL的繁琐过程所劝退。在刚开始学习的时候,其实可以先来借助一下在线编译器来节约精力。针对本地安装教程,我会在日后详细单独写一篇说明。

Real耿直的SQL指令

SQL的指令通常极为干脆利落且异常直白。今天首先介绍的是如何创建数据库(database)、表(table),以及如何往表中录入数据。

可能会有人奇怪为什么文章中不时出现中英混杂的情况,其实一般的计算机编程语言都为英文,故在介绍新的概念时我会反复列出其英文名称来强化记忆。SQL指令亦然,大多都由简单的英文动词或名词所构成。

创建 (create) 一个新的数据库 (database):

CREATE DATABASE db_name;

使用 (use) 数据库 (database):

USE db_name;

在上方指定的数据库中,创建 (create) 一个新的表 (table):

CREATE TABLE table_name (column_name1 datatype1, column_name2 datatype2, ...);

在指定的表中插入 (insert) 具体数值 (value):

INSERT INTO table_name (column_name1, column_name2, ...) 
VALUE (column1_row1, column2_row1, …);

* 当我们想同时录入大批数据时,可以直接将其拖在value后。

INSERT INTO table_name (column_name1,  column_name2, ...)
VALUE (column1_row1, column2_row1),  (column1_row2, column2_row2), (…);

上述中,大写为具体的SQL指令,斜体为名称或数值。当然,SQL不像某些语言对字母大小写或者锁进距离那么的“斤斤计较”,此处为了理解方便,才做了大小写区分。但要注意的是,SQL会区分变量名称的大小写,因此在命名数据库/表/列名时,要留意字母的大小写。

SQL中,在一段命令中用逗号( , ) 来隔开名称/数值。

另外需要强调一下的是,在这里我们使用了分号( ; ) 以结束一段命令,但有时在不同的环境下,可能也会利用别的符号来结束指令。

建库建表举例

建立一个名为“company”的数据库:

CREATE DATABASE Company;

使用“Company”这个数据库:

USE Company;

创建一张名为“Customer”(顾客)的表,其中包含以下column(列):

  • 顾客ID(Id,数值为整数)
  • 姓名(Name,数值为字符)
  • 年龄(Age,数值为整数)
CREATE TABLE Customer (Id int, Name varchar(255), Age int);

* int 即为integer(整数),varchar为字符。255则是Name这个列中所允许的最大字符长度。

将顾客的信息录入Customer(顾客表)中:

INSERT INTO Customer (Id, Name, Age) 
VALUE ('001', '张三', 28);
INSERT INTO Customer (Id, Name, Age) 
VALUE ('002', '李四', 34);

录入数据时亦可写成:

INSERT INTO Customer (Id, Name, Age) 
VALUE ('001', '张三', 34), ('002', '李四', 27)

很多时候,在线编译器并不允许用户创建新的数据库,因此可以直接从表(table)建起。将上述代码整理如下后,输入

SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions.

CREATE TABLE Customer (Id int, Name varchar(255), Age int);
INSERT INTO Customer (Id, Name, Age) VALUE ('001', '张三', 28);
INSERT INTO Customer (Id, Name, Age) VALUE ('002', '李四', 34);

* SQL中分行并不代表语句结束,分行更出于美观与便于理解的角度。

297967f0f4497385ca7c00f315c115c5.png

点击红框所示的“Build Schema”即可创建数据表。

见见我们的Table

等等,我们的表呢?

建成的表被储存在了数据库中,想要见到它就得先告诉database(数据库)我们的需求。

选择(select)表格中(from)自己所需要的数据:

SELECT * FROM table_name; 

星号键(*)指代所有数据。

用我们刚才建立的表格举例,选择指定表格 (Customer) 中的所有数据:

SELECT * FROM Customer;     

b5ff81d306b058b889eee374ad0534be.png

并点击“Run SQL”。

这样我们就可以轻松地看到自己建立的数据表了!

今日小结

今天学习的重点在于两个单词:create(创建)以及insert(插入)。

重点命令则为:

create database database_name;
use database_name;
create table table_name(col_1 data_type, col_2 data_type, ...);
insert into table_name(col_1, col_2,...) 
value(col1_row_1, col2_row_1,...), (col1_row_2, col2_row_2);
select * from table_name;

希望大家看了今天的内容后能了解如何建立一个简单的数据库,如果还是有什么疑问或是建议的话,欢迎留言询问~

祝各位学习愉快!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值