定义及作用
1,定义:SQL(结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
2,作用:
- 是所有关系型数据库的统一查询规范,不同的关系型数据库都支持SQL
- 所有的关系型数据库都可以使用SQL
- 不同数据库之间的SQL 有一些区别(统称为:方言)
SQL通用语法
-
sql语句可以单行或者多行书写,以分号结尾
-
可以使用空格缩进来提高代码可读性
-
Mysql中不区分大小写
-
注释:
语法 解释 --空格 单行注释 /* */ 多行注释 # mysql独有的单行注释
SQL分类
| 分类 | 说明 |
|---|---|
| 数据定义语言(DDL) | 定义数据库对象(数据库、表、列) |
| 数据操作语言(DML) | 对数据库中表的记录进行更新 |
| 数据查询语言(DQL) | 查询数据库中表的记录 |
| 数据控制语言(DCL) | 定义数据库的访问权限和安全级别以及创建用户 |
-
DDL操作数据库
命令 说明 create database 数据库名; 创建指定名称的数据库 create database 数据库名 character set 字符集; 创建指定名称的数据库并指定字符集 use 数据库名 切换数据库 select database(); 切换数据库 show databases; 查询Mysql中有哪些数据库 show create database 数据库名; 查看数据库的定义信息 alter database 数据库名 character set 字符集; 数据库字符集修改 drop database 数据库名; 从Mysql中永久删除数据库 -
DDL操作数据库表
- MySQL常见的数据类型
类型 说明 int 整型 double 浮点型 char / varchar 字符串型 date 日期(只有年月日) - 详细的数据类型
-
创建表
语法格式:
CREATE TABLE 表名( 字段名称1 字段类型(长度), 字段名称2 字段类型 注意 最后一列不要加逗号 ); -
创建与某个表结构相同的表
语法格式:
create table 新表名 like 旧表名 -
查看表
命令 说明 show tables; 查看当前数据库中的所有表名 desc 表名; 查看数据表的结构 -
删除表
命令 说明 drop table 表名; 删除表(永久删除) drop table if exists 表名; 判断表是否存在,存在删除,不存在不删除 -
修改表
语法格式:
rename table 旧表名 to 新表名 -
修改表的字符集
语法格式:
alter table 表名 character set 字符集 -
向表中添加列, 关键字 ADD
语法格式:
alert table 表名 add 字段名称 字段类型 -
修改表中列的 数据类型或长度 , 关键字 MODIFY
语法格式:
alter table 表名 modify 字段名称 字段类型 -
修改列名称 , 关键字 CHANGE
语法格式:
alter table 表名 change 旧列名 新列名 类型(长度); -
删除列 ,关键字 DROP
语法格式:
alter table 表名 drop 列名;
-
DML操作表中的数据
-
插入数据
语法格式:
insert into 表名 (字段名1,字段名2...) values(字段值1,字段值2...); -
更改数据
语法格式:
不带条件的修改:update 表名 set 列名 = 值 带条件的修改:update 表名 set 列名 = 值 where 条件表达式:字段名 = 值 -
删除数据
语法格式:
删除所有数据:delete from 表名 指定条件 删除数据:delete from 表名 where 字段名 = 值
-
-
DQL查询表中数据
-
简单查询
语法格式:
select 列名 from 表名 查询所有数据:select * from 表名 查询指定字段数据:select 列名1,列名2... from 表名 -
别名查询,使用关键字 as
语法格式:
select 列名1 as ‘别名1’, 列名2 as ‘别名2’, 列名3 as ‘别名3’, 列名4 ‘别名4’ from 表名; 其中as可以省略 -
使用去重关键字 distinct
语法格式:
select distinct 列名 from 表名; -
运算查询 (查询结果参与运算)
语法格式:
sleect 列名1,列名2(列名2 + 1000) from 表名 -
条件查询
语法格式:
select 列名 from 表名 where 条件表达式比较运算符
运算符 说明 > < <= >= = <> != 大于、小于、大于(小于)等于、不等于 BETWEEN ...AND... 显示在某一区间的值 例如: 2000-10000之间: Between 2000 and 10000 IN(集合) 集合表示多个值,使用逗号分隔,例如: name in (悟空,八戒) in中的每个数据都会作为一次条件,只要满足条件就会显示 LIKE '%张%' 模糊查询 IS NULL 查询某一列为NULL的值, 注: 不能写 = NULL LIKE '%张‘ :表示以张结尾
LIKE ’张%‘ :表示以张开头
LIKE ’_张%‘:表示第二个字是张
关系运算符
运算符 说明 And && 多个条件同时成立 Or || 多个条件任意一个成立 Not 不成立,取反
-