美文网首页
SQL教程小白易学系列(命令步骤)

SQL教程小白易学系列(命令步骤)

作者: 冰溪bx | 来源:发表于2019-04-28 16:58 被阅读0次

等等,没有人问一下楼主一个前端开发为什么还要去学习SQL?

楼主可是一个要成为全栈的人,哈哈哈,其实全栈什么的还是有点难,楼主挺贪玩的,不过学多点总比学少点好是不,而且最基础的数据库肯定要了解一下,所有带数据的开发都离不开数据库吧,现在主流的SQL系统就是MYSQL,这里楼主也会介绍一下基本的MYSQL操作。

SQL全称

Structured Query Language

SQL数据类型表

数据类型

查询数据库表

SELECT * FROM 表名

PS: *表示查询表内所有的行列

判断是否连接上数据库

SELECT 1

返回1代表已连接

条件查询数据库表

SELECT * FROM 表名 WHERE 条件(比如score >= 80)

投影查询

SELECT id, score, name FROM 表名

意思就是查询数据库表相对应名字的行

排序查询

从高到低查询

SELECT id, name, gender, score FROM students ORDER BY score;

倒序查询

SELECT id, name, gender, score FROM students ORDER BY score DESC;

先倒序,再gender列排序数据查询

SELECT id, name, gender, score FROM students ORDER BY score DESC, gender;

分页查询

例子:查询第1页

SELECT id, name, gender, score

FROM students

ORDER BY score DESC

LIMIT 3 OFFSET 0;

聚合查询

SELECT COUNT(*) num FROM students;

意思就是查询students这个表的所有数据的数量,并且给这些数量加一个行名num

多表查询

SELECT * FROM students, classes;

同时查询students和classes这两个表

连接查询

这一块我还没弄太懂,好像涉及到交集,并集?

想数据库表中添加数据

INSERT INTO students (class_id, name, gender, score) VALUES

  (1, '大宝', 'M', 87),

  (2, '二宝', 'M', 81);

SELECT * FROM students;

意思就是在students表中添加两行数据。

更新数据

UPDATE students SET name='大牛', score=66 WHERE id=1;

-- 查询并观察结果:

SELECT * FROM students WHERE id=1;

意思就是把students表里id为1的数据更新为上面设置的数据。

删除数据

DELETE FROM students WHERE id=1;

-- 查询并观察结果:

SELECT * FROM students;

意思就是把students中id为1的数据删除掉

PS:更新数据和删除数据应该小心,免得使得数据丢失。

主流SQL系统-MYSQL

安装设置步骤

1.命令行输入命令mysql -u root -p,提示输入口令。填入MySQL的root口令,如果正确,就连上了MySQL Server,同时提示符变为mysql>。

2.输入exit断开与MySQL Server的连接并返回到命令提示符。

PS:其实MYSQL的运行是分开的,意思就是安装后会有一个MySQL Client客户端和MySQL Server服务,我们操作是在客户端操作。

MYSQL默认端口号3306,地址:127.0.0.1:3306

MYSQL新建库

CREATE DATABASE test;

新建一个叫test的数据库

删除数据库

DROP DATABASE test;

使用数据库

USE test;

当然数据库中不创建是没数据,创建表后,显示数据库的表名

SHOW TABLES;

查看这个表的具体内容

DESC students;(后面的students是你自己新建的表名)

删除表

DROP TABLE students;

修改表

ALTER TABLE students ADD COLUMN birth VARCHAR(10) NOT NULL;

意思就是在students这个表中增加一个birth的数据,类型是VARCHAR(10) NOT NULL

删除表中的某一列

ALTER TABLE students DROP COLUMN birth;

退出数据库或者退出命令行窗口

直接输入exit + 空格

表中插入或替换数据

REPLACE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);

replace命令会自动判断有没有创建,没创建过就创建,创建过就替换。

插入或更新

INSERT INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99) ON DUPLICATE KEY UPDATE name='小明', gender='F', score=99

插入或忽略

INSERT IGNORE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);

原理同第一个说明

事务

BEGIN;

UPDATE accounts SET balance = balance - 100 WHERE id = 1;

UPDATE accounts SET balance = balance + 100 WHERE id = 2;

COMMIT;

意思就是在accounts这个表中更新,会同时更新这两条命令,当一条失败,整个事务就会失败,只有两个成功,事务才会成功。

事务还有4个隔离级别,由于目前不准备专精SQL所以我也没太精读,想了解的看最后面我给的教程地址。

想要更加仔细学习的可以去廖雪峰大佬的SQL教程看看。

相关文章

网友评论

      本文标题:SQL教程小白易学系列(命令步骤)

      本文链接:https://www.haomeiwen.com/subject/surjnqtx.html