什么是SQL
- SQL 指结构化查询语言
- SQL 使我们有能力访问数据库
- SQL 是一种 ANSI 的标准计算机语言
注:ANSI,美国国家标准化组织
使用SQL的要素
如果想要使用SQL必须要包含以下要素
- RDBMS 数据库程序(比如 MS Access, SQL Server, MySQL)
- 服务器端脚本语言(比如 PHP 或 ASP)
- SQL
- HTML / CSS
RDBMS 指的是关系型数据库管理系统。RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。RDBMS 中的数据存储在被称为表(tables)的数据库对象中。表是相关的数据项的集合,它由列和行组成。
SQL的两部分
数据操作语言 (DML) 和 数据定义语言 (DDL)。查询和更新指令构成了 SQL 的 DML 部分。
SELECT | 从数据库表中获取数据 |
UPDATE | 更新数据库表中的数据 |
DELETE | 从数据库表中删除数据 |
INSERT INTO | 向数据库表中插入数据 |
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格、定义索引(键)、规定表之间的链接,以及施加表间的约束。
CREATE DATABASE | 创建新数据库 |
ALTER DATABASE | 修改数据库 |
CREATE TABLE | 创建新表 |
ALTER TABLE | 变更(改变)数据库表 |
DROP TABLE | 删除表 |
CREATE INDEX | 创建索引(搜索键) |
DROP INDEX | 删除索引 |
增删改查(crud)操作
添加
(1)
insert into 表名(
字段名称,
字段名称,
字段名称,
···
);
values(
字段值,
字段值,
字段值,
···
);
(2)
insert into 表名(
字段值,
字段值,
字段值,
···
);
字段值的值要与字段名一一对应
(3)
insert into 表名(字段,字段,字段)
select 字段,字段,字段 from 表名;
此方法可以作where条件,即只添加符合条件的字段值
删除
(1)
delete from 表名 where 要被删除的内容
(2)
delete from 表名;
使用delete删除后,再添加内容时,主键会在原来的基础上自增长,即被使用过的id不会被重复使用
(3)
truncate table 表名
再添加内容时,主键会从1重新开始
修改
update 表名 set 字段 = 值 where 字段 = 值;
修改多个时,set后的字段与值用逗号隔开即可
查询
(1)全查询
select 别名.* from 表名 as(可省略) 别名;
(2)查询某一列或某几列
select 字段,字段 from 表名 as 别名;
或
select 字段 as 别名,字段 as 别名 from 表名 as 表名;
(3)条件查询
关键字:
< , > , <= , >= , <> , or ,and ,between ```and
在mysql中<>表示不等于符号
select * from 表名 where 条件;
(4)多条件查询
select * from 表名 where 条件 and 条件;
and可以换为or表示或者
或使用between表示什么与什么之间
select * from 表名 where 字段 between 值 and 值;
(5)对null字段查询
查询某字段值是null
select * from 表名 where 字段 is null;
查询某字段值不是null
select * from 表名 where 字段 is not null;
(6)模糊查询
select * from 表名 where 字段 like '李%';
或使用下划线代表后面字的个数,一个下划线代表后边有一个字
select * from 表名 where 字段 like '李_';
(7)对查询结果排序
asc表示正序,desc表示逆序,不写默认为asc,与其他条件同时使用时,order by 需要写在后面
select * from 表名 order by 字段 desc;
(8)限制查询行数
select * from 表名 order by 字段 desc limit 行数,行数;
什么是mysql
MySQL是一种可以处理数据库的关系数据库管理系统(Relational Database Management System:RDBMS)。也是一个允许针对数据进行存储、检索和删除的软件。有许多这样的数据库,例如Oracle、Microsoft SQL Server、SQLite等。
SQL与mysql的区别
(1)SQL是一种查询语言,mysql是一种数据库软件,它依靠SQL检索,来修改和管理数据库
(2)SQL不提供连接器,而MySQL提供了一个名为“MySQL workbench”的集成工具来设计和开发数据库
(3)mysql允许以表格格式处理,存储,修改和删除数据
(4)SQL更新语言是固定的,命令保持不变,而mysql获得频繁的更新