SQL数据库操作语言
SQL语言分类
简介
SQL(结构化查询语言):主要用于存取数据,查询数据,更新数据和管理关系数据库系统。SQL语言由IBM开发。
分类
DDL数据库定义语言:数据库,表,视图,索引,存储过程,例如create,drop,alter。
DML数据库操纵语言:插入数据insert,删除数据delete,更新数据update。
DQL数据库查询语言:查询数据select。
DCL数据库控制语言:控制数据库的访问权限grant,revoke。
名词解释
数据库服务器:运行着数据库应用服务的设备(硬件+系统软件+mysql软件)
数据库:
默认数据库:
information_schema:虚拟库,主要存储了系统中一些数据库对象的信息,例如:用户表信息,列信息,权限信息,字符信息等等。
performance_schema:主要存储数据库服务器的性能参数
mysql:授权库,主要存储系统用户的权限信息
sys:主要存储数据库服务器的性能参数
表:记录的管理单元
记录(行):信息的载体,字段的管理单元
字段(列):字段名,字段类型,字段长度,字段约束
类型:字符,数字,日期
约束:不能为空,自动增长
四种SQL数据库语言
DDL
DDL-库
创建数据库:create database 数据库名称;
数据库名称要求:区分大小写,唯一性,不能使用关键字,不能单独使用数字和特殊符号。
查看所有数据库:show databases;
进入数据库:use 数据库名;
查询当前库:select database();
删除数据库:drop database 数据库名;
系统中的位置:/var/lib/mysql/
数据类型
数值类型
整数类型 int,tinyint,bigint等等。
浮点数类型:float,double等等。
字符串类型
字符系列:char(长度可变),varchar(长度可变)等等。
在检索时,char列删除了尾部的空格,而varchar保留空格。
枚举类型:enum
集合类型:set
时间和日期类型
年(year),日期(date),时间(time),日期和时间(datetime)
完整性约束
目的:用于保证数据的完整性和一致性。
约束类型:
primary key:标识字段为该表的主键,可以唯一的标识记录,不可为空。
foreign key:标识该字段为该表的外键,实现表与表之间的关联。
unique key:标识该字段的值是唯一的,可以为空,一个表中可以有多个unique key。
auto_increment:表示该字段的值自动增长。
default:该字段设置默认值。
not null:标识字段不能为空。
unsigned:无符号,正数。
zerofill:使用0进行填充
DML
目的:通过sql语句中的DML语言进行插入(insert),删除(delete),更新(update)。
插入
完整插入:insert into 表名 values(值1,值2,值3……);
部分插入:in