本文主要介绍关于数据库操作中SQL语句的简介和基础使用语法。

  • SQL是一种结构性查询语言、用于和数据库之间的数据交互、通过使用SQL可以对数据库的数据进行创建、更新、删除、修改、查询等一系列的操作。
  • SQL对大小写不敏感
  • SQL语句末尾的分号不是必须的,可以不用加
  • SQL结构性查询语言 = DML数据操作语言 + DDL数据定义语言

DML:查询+更新

select 查询:从数据库中获取数据

update 更新:更新数据库中的数据

delete 删除:删除数据库中的数据

insert into 增加:像数据库中插入新的数据


DDL:创建+修改+删除 ==> 库+表+索引

create database 创建新的数据库

alter database 修改数据库

create table 创建新的数据库表

alter table 修改数据库表

drop table 删除表

create index 创建新的索引

drop index 删除索引


以下主要是SQL的基础语法的使用:

前提:数据库中有一张联系人信息表名为Persons,包含 id(在表中的顺序), name, sex, age, phoneNumber, city

select 和 select *

语句:select 条件字段(列名) from 表名;

描述:select用于在表中选取数据。得到的结果数据会被存储在一张结果表中,亦称结果集。

要求1: 查询出表中name字段对应的所有数据

select name from Persons;

要求2: 查询出表中name字段和age字段对应的所有数据

select name,age from Persons;

要求3: 查询出表中所有字段对应的所有数据

select * from Persons; (* 表示所有条件)


select distinct

描述:有时候可能一个条件字段对应的数据中由多个相同的数据值,这个时候如果我们只需查询显示一个数据值,就需要用distinct这个关键字来操作进行去重。

要求: 查询出表中age字段对应的数据,并去掉重复数据

select distinct age from Presons;

where

语法:select * from Persons where 列名=列值;

描述:比如说我们要查找某个范围中的数据,就涉及到条件查询,

这个时候通常用where来处理。

要求1: 查询出表中sex字段对应的所有女性数据

select * from Persons where sex='female';

要求2: 查询出表中age字段对应的年龄在20到30岁之间(开区间)的所有数据

select * from Persons where 20<age<30;


and & or

描述:多个条件一起查询时候使用

要求1: 查询出表中sex字段对应的女性,并且年龄在25岁以上的数据

select * from Persons where sex='female' and age>25;

要求2: 查询出表中sex字段对应的男性,或者年龄在40岁以上的数据

select * from Persons where sex='male' or age>40;

要求3: 查询出表中sex字段对应的男性或者age在40岁以上,并且city在杭州的所有数据

select * from Persons where (sex='male' or age>40) and city='hangzhou';


order by

描述:对于查询到的数据我们想要进行排序的时候就用order by来操作,

order by 默认是按照升序规则排序的

要求1:对Persons表中所有数据进行按照年龄大小排序查询

select * from Persons order by age;

要求2:把Persons表中的所有数据根据name字段来查询并且按照名称进行排序

select name from Persons order by name;

(此处默认为升序,name均为英文,则会按照a-z的顺序进行展示)

要求3:desc - 逆序(降序)

把Persons表中的所有数据根据name字段来查询并且按照名称进行逆序排序

select name from Persons order by name desc;

(此处排序为逆序,name均为英文,则会按照z-a的顺序进行展示)

要求4: asc - 顺序(升序)

根据name,id两个条件查询,按照name逆序,id顺序的方式展示

select name,id from Persons order by name desc, id asc;


insert into

描述:向表中插入新的行数据

insert into 表名 values (值1, 值2, 值3, …);

insert into 表名 (列1,列2,列3,…) values (值1, 值2, 值3, …);

要求1: 原表列数插入

给Persons表中插入一条新数据

(这个时候插入的这条数据包含的字段和原表的列数是 相同的)

insert into Persons values (值1, 值2, 值3, 值4, 值5, 值6);

要求2: 非原表列数插入

给Persons表中插入一条新数据,这个数据只有name和age

(这个时候插入的这条数据包含的字段和原表的列数是 不同的)

insert into Persons (name,age ) values ('Xuezhiqian', 35);

insert into Persons (name,age ) values ('Luhan', 27);`


update

描述:修改表中的数据

update 表名 set 列名=新值 where 列名=某值;

(6中我们插入的数据中有一条name=’Xuezhiqian’的新数据, 但这个数据和我们原表相比并不完整。所以我们现在要修改他的数据)

要求1: 给name=’Xuezhiqian’的这条新数据增加sex字段

update Persons set sex='male' where name='Xuezhiqian';

要求2: 给name=’Xuezhiqian’的这条新数据增加city字段并且把age改成34

update Persons set city='shanghai' , age=34 where name='Xuezhiqian';


delete

描述:删除表中的行数据

delete from 表名 where 列名=列值;

delete from 表名;

delete * from 表名;

(6中我们插入的数据中有一条name=’Luhan’的新数据,现在想要删除掉)

要求1: 把name=’Luhan’的这条新数据删除

delete from Persons where name='Luhan';

要求2: 删除整个Persons表的所有行

delete from Persons;`

或者

delete * from Persons;

以上便是SQL操作数据库的基础语句的汇总

ps:因作者能力有限,有错误的地方请见谅

  • 喜欢这篇文章的话可以用快捷键 Ctrl + D 来收藏本页
× 请我吃糖~
打赏二维码