1、 sql是什么?
SQL 是用于访问和处理数据库的标准的计算机语言,它全称为:结构化查询语言(Structured Query Language) 简称:SQL。
它是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。各家数据库厂家旗下的数据库都支持sql语言,但每家支持的sql都会有些不一样的地方。
SQL具有数据定义、数据操纵、和数据控制的功能:
-
SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。
-
SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。
-
SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。
2、 sql如何使用?
-
在使用sql之前,你的电脑上必须存在一个数据库服务器,例如:mysql、sqlServer、oracle等。
-
当电脑上存在的数据库多了,推荐使用navicat,这个软件可以将所有的服务器进行整合,想用哪个数据库连接对应的通道即可。
-
在使用sql时,我们需要先新建查询,也就是一个以‘.sql’的文件,在这个文件中进行sql语句的编写。
SQL分为很多种,有针对数据库的,有针对表格的,有针对数据行的,以下分别介绍:
1、数据库种类:
- 查看所有的数据库名称:
show databases
- 创建数据库:
create databeses 数据库名;
- 删除数据库:
drop database 数据库名;
2、表格种类:
- 查看指定数据库下的所有表文件:(在cmd中的mysql里使用)
use 数据库名; -- 进入某数据库
show tables; -- 查看所有表文件
- 在指定的数据库下创建表文件:
use 数据库;
create table 表文件名(
字段名 数据类型名,
字段名 数据类型名 -- 最后一个字段不要以','结束
)
- 删除某个表文件:
drop table 表文件名;
- 查看表文件字段信息:
show create table 表文件名;
- 为表文件添加字段:
alter table 表文件名 add 新字段名 数据类型名称 ;
- 删除表文件字段:
alter table 表文件名 drop 字段名;
3、数据行种类:
-
插入命令:负责要求数据库服务向指定的表文件添加行
insert into 表文件名(字段名1,字段名2…)
values(值1,‘值2’); -
查询命令:负责要求数据库服务器将指定表文件数据行展示
select * from 表文件名; -
删除命令:负责要求数据库服务器将指定的表文件数据行删除
delete from 表文件名; #删除的是该表重的所有数据行#
delete from 表文件名 where 判断条件; #将满足条件的数据行进行删除#
--注意!在SQL语句中,相等的运算符是 " = " 并不是高级语言中的 " == "
- 更新命令(修改):负责要求数据库服务器将指定的表文件数据行更新
#将所有数据行指定字段的值赋值新值#
update 表文件名 set 字段名=值,字段名2=值;
#将满足条件的数据行进行更新处理#
update 表文件名 set 字段名=值,字段名2=值 where 判断条件;
3、 高级插入指令
1、一次性多条数据插入
INSERT INTO 表文件名称(字段1,字段2,字段3)
VALUES(值1,值2,值3),
(值4,值5,值6);
2、简化版插入命令,如果插入的数据是每一个字段都能赋值,此时插入命令不需要指定字段名,插入值顺序此时需要表文件字段顺序保持一致
insert into 表文件名 values(值1,值2,值3);
3、数据行复制命令:可以将表A中数据行复制到表B,(表A与表B字段结构完全一致)
insert into B select * from A;
4、表文件备份命令:
-- 将表文件A进行一份备份,备份生成的表文件B
create table B select * from A;
总结:
以上只是针对数据库、表单和数据行的增删改,没有涉及到sql真正的用途也就是查询,sql提供的查询语句的关键字占 sql 语言的一半之多,查询语句还是得单拿出来讲,不然太多了。
因为没有涉及到查询,所以sql的新增和修改都是很笼统的做法,drop、alter drop、delete这些很容易,逻辑性也不强,再次说明sql的真正精髓在于查询,不然为啥叫做结构化查询语言。