SQL:结构化查询语言
- SQL的作用:通过SQL来操作数据库。
- SQL方言: 某种DBMS不只会支持SQL标准,而且还会有一些自己独有的语法,这就称之为方言!例如limit语句只在MySQL中可以使用
- sql语法:
- SQL语句可以在单行或多行书写,以分号结尾
- 可使用空格和缩进来增强语句的可读性
- MySQL不区别大小写,建议使用大写
语句分类:ddl:数据库或表的结构操作
dml:对表的记录进行更新(增、删、改)
dql:对表的记录的查询
dcl:对用户的创建,及授权
dml:对表的记录进行更新(增、删、改)
dql:对表的记录的查询
dcl:对用户的创建,及授权
- 数据库
查看所有数据库:SHOW DATABASES
切换(选择要操作的)数据库:USE 数据库名
创建数据库:CREATE DATABASE databaseName
删除数据库:DROP DATABASE dbName - 数据类型:
- int:整型
- double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,(不包含小数点)
- decimal:浮点型,在表单钱方面使用该类型,因为不会出现精度缺失问题;
- char:固定长度字符串类型; char(255),数据的长度不足指定长度,补足到指定长度!
- varchar:可变长度字符串类型;
- text(clob):字符串类型;
- blob:字节类型;
- date:日期类型,格式为:yyyy-MM-dd;
- time:时间类型,格式为:hh:mm:ss
- timestamp:时间戳类型;
表的操作
CREATE TABLE 表名
列名 列类型,
列名 列类型,
…
列名 列类型
);
- 查看当前数据库中所有表名称:SHOW TABLES;
- 查看表结构:DESC 表名;
- 删除表:DROP TABLE 表名;
- 修改表:前缀:ALTER TABLE 表名
-
分组查询( GROUND BY)
分组查询是把记录使用某一列进行分组,然后查询组信息。
例如:查看所有部门的记录数。
SELECT deptno, COUNT(*) FROM emp GROUP BY deptno;
–> 使用deptno分组,查询部门编号和每个部门的记录数
组条件( HAVING表示筛选之后再次筛选)
以部门分组,查询每组记录数。条件为记录数大于3
SELECT deptno, COUNT() FROM emp GROUP BY deptno HAVING COUNT() > 3; -
limit子句(方言)
LIMIT用来限定查询结果的起始行,以及总行数。
例如:查询起始行为第5行,一共查询3行记录
SELECT * FROM emp LIMIT 4, 3;
其中4表示从第5行开始,其中3表示一共查询3行。即第5、6、7行记录。