![b32373bceea1bb5d0bb03b64efe92217.png](https://i-blog.csdnimg.cn/blog_migrate/fdcef72052e990aca0dfa40d006b2741.jpeg)
简单粗暴的SQL到底有多直白?
在对数据库有了大概的了解后,不妨让我们先来小小地玩一玩,创建一个自己的数据库 (Database)~
毕竟实践出真知。
代码什么的,听讲一万遍也不如自己敲一遍。
这里推荐一个网站:
SQL Fiddle | A tool for easy online testing and sharing of database problems and their solutions.www.sqlfiddle.com![39544a1a725202709b89ad275eae1aaf.png](https://i-blog.csdnimg.cn/blog_migrate/3ae8371cc6c345ddca80da5e8d82a5e2.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](https://i-blog.csdnimg.cn/blog_migrate/cddbea37838259dada65e4cbe8d81b45.jpeg)
点击红框所示的“Build Schema”即可创建数据表。
见见我们的Table
等等,我们的表呢?
建成的表被储存在了数据库中,想要见到它就得先告诉database(数据库)我们的需求。
选择(select)表格中(from)自己所需要的数据:
SELECT * FROM table_name;
星号键(*)指代所有数据。
用我们刚才建立的表格举例,选择指定表格 (Customer) 中的所有数据:
SELECT * FROM Customer;
![b5ff81d306b058b889eee374ad0534be.png](https://i-blog.csdnimg.cn/blog_migrate/4bc0ca0092ec690fa7444f184579e7b3.jpeg)
并点击“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;
希望大家看了今天的内容后能了解如何建立一个简单的数据库,如果还是有什么疑问或是建议的话,欢迎留言询问~
祝各位学习愉快!