本文主要介绍关于数据库操作中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
举例参考表1. select 和 select *
语句:select 条件字段(列名) from 表名;
描述:select用于在表中选取数据。得到的结果数据会被存储在一张结果表中,亦称结果集。
要求1: 查询出表中name字段对应的所有数据
select name from Persons;
要求2: 查询出表中name字段和age字段对应的所有数据
select name,age from Persons;
要求3: 查询出表中所有字段对应的所有数据
select * from Persons; (* 表示所有条件)
2. select distinct
描述:有时候可能一个条件字段对应的数据中由多个相同的数据值,这个时候如果我们只需查询显示一个数据值,就需要用distinct这个关键字来操作进行去重。
要求: 查询出表中age字段对应的数据,并去掉重复数据
select distinct age from Presons;
3. 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;
4. 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';
5. 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;
6. 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);
7. 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';
8. 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操作数据库的基础语句的汇总
码文不易,还望支持。
有关SQL的相关知识会后续持续更新,欢迎关注。康撒米达~~~
网友评论