SQL-操作数据库之增删改查

SQL简介

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
允许各家的数据库有差异,这些差异,我们称之为“方言”。

SQL语法

SQL分类
  • DDL(Data Definition Language):
    数据定义语言,用来定义数据库对象:库、表、列等
  • DML(Data Manipulation Language):
    数据操作语言,用来定义数据库记录(增、删、改)
  • DCL(Data Control Language):
    数据控制语言,用来定义访问权限和安全级别;
  • DQL(Data Query Language):
    数据查询语言,用来查询记录(数据)
SQL的数据类型

SQL语句中数据类型大致可分为三类:

  1. 数值型类型(Number)
  2. 字符串类型(Text)
  3. 日期与时间类型(Date)
  • Number类型:
  1. 整型:
数据类型 含义
TINYINT 1字节,范围(-128~127)
SMALLINT 2字节,范围(-32768~32767)
MEDIUMINT 3字节,范围(-8388608~8388607)
INT 4字节,范围(-2147483648~2147483647)
BIGINT 8字节,范围(-9.22E18~9.22E18)
  1. 浮点型(size规定最大位数,d规定小数点后最大位数):
数据类型 含义
FLOAT(size,d) 4字节,单精度浮点型,范围(-3.4E38~3.4E38(7个有效位))
DOUBLE(size,d) 8字节,双精度浮点型,范围(-1.7E308~1.7E308(15个有效位))
DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点
  • Text类型(n规定字符个数):
数据类型 含义
CHAR(n) 固定长度,最多255个字符
VARCHAR(n) 可变长度,最多65535个字符
TINYTEXT 可变长度,最多255个字符
TEXT 可变长度,最多65535个字符
MEDIUMTEXT 可变长度,最多2^24-1个字符
LONGTEXT 可变长度,最多2^32-1个字符
  • Date类型:
数据类型 含义
DATE 3字节,日期,格式:yyyy-MM-dd
TIME 3字节,时间,格式:hh:mm:ss
DATETIME 8字节,日期时间,格式:yyyy-MM-dd hh:mm:ss
TIMESTAMP 4字节,自动存储记录修改的时间
YEAR 1字节,年份

DDL——数据定义语言

DDL的作用是对数据库对象进行创建和修改,操作对象是库、表、列以及其各自的属性(名称、表头、列名等等)。

  • 操作库:
语法 作用
create database 数据库名; 创建数据库
show databases; 查询所有库
drop database 数据库名; 删除数据库
alter database 数据库名 character set='编码'; 修改数据库编码
show create database 数据库名; 查看建库语句

SQL-操作数据库之增删改查_第1张图片
SQL-操作数据库之增删改查_第2张图片

  • 操作表:
语法 作用
use 数据库名 切换库
show tables; 查看库下所有的表
create table 表名(列名1 数据类型,列名2 数据类型2(长度), ......); 创建表
alter table 旧表名 rename to 新表名 修改表名
drop table 表名 删除表
desc 表名; 查看表结构

SQL-操作数据库之增删改查_第3张图片

  • 操作表结构:
语法 作用
alter table 表名 add(列名 数据类型); 添加一个列
alter table 表名 drop 列名; 删除一个列
alter table 表名 change 旧列名 新列名 数据类型; 修改列名
alter table student 表名 modify 列名 新数据类型; 修改数据类型
show create table 表名; 查看建表语句

SQL-操作数据库之增删改查_第4张图片
SQL-操作数据库之增删改查_第5张图片

DML——数据操控语言

DML的作用是在表中操作插入数据、删除数据、修改数据。
select * from 表名; 可以浏览表中数据。

  • 插入数据(INSERT):

语法:insert into 表名(字段名,字段名2,.....) valuses(值1,值2,......);

字符串类型的值和日期类型的值需要用单引号引起来,如果要给表中所有字段都插入值,可以省略字段名:insert into 表名 valuses(值1,值2,......);

SQL-操作数据库之增删改查_第6张图片

  • 删除数据(DELETE):
语法 作用
delete from 表名; 无条件的删除,删除表中所有数据
delete from 表名 where 条件; 根据条件删除

条件控制删除符合条件的记录,条件逻辑中需要使用数学运算符: **= > < >= <=**以及 “并且:and” 和 “或 :or”来形成逻辑。

SQL-操作数据库之增删改查_第7张图片
SQL-操作数据库之增删改查_第8张图片

  • 修改数据(UPDATE):

语法:update 表名 set 列名1 = 新值1 , 列名2 = 新值2... where 条件
SQL-操作数据库之增删改查_第9张图片

DQL——数据查询语言

DQL的作用是查询表中数据。

SQL-操作数据库之增删改查_第10张图片

  • 条件查询:select 列名,列名2... from 表名 where 条件逻辑;
  1. 列名控制需要显示的列
  2. 条件逻辑控制需要显示哪一条记录
  3. *****为通配符,代表所有

SQL-操作数据库之增删改查_第11张图片

  • 模糊查询:select 列名,列名2... from 表名 where 列名 like 条件;
  1. _ :匹配单个任意字符,需要匹配几个字符就用几个下划线。
  2. %:匹配多个任意字符,数量不限。

SQL-操作数据库之增删改查_第12张图片

  • 字段控制

修改字段的别名:AS

  1. 给列的字段的起别名:
    SQL-操作数据库之增删改查_第13张图片
  2. 给表起别名(可以简化书写):
    SQL-操作数据库之增删改查_第14张图片

你可能感兴趣的:(数据库)