数据库SQL语言
- DDL (Data Definition Language): 数据定义语言
- DML (Data Manipulation Language):数据操作语言
- DCL (Data Control Language): 数据控制语言
- DQL (Data Query Language): 数据查询语言
- ddl:数据库或表的结构操作(****)
- dml:对表的记录进行更新(增、删、改)(****)
- dql:对表的记录的查询(****,难点)
- dcl:对用户的创建及授权(****)
DDL
一、数据库
查看所有数据库:
1
SHOW DATABASES
切换数据库:
1
USE DATABASENAME
创建数据库:
1
CREATE DATABASE IF NOT EXISTS MYDB CHARSET=utf8
修改数据库:
1
AlTER DATABASE MYDB CHARSET SET utf8
删除数据库
1
drop database MYDB
数据类型
- int:整型;
- double :浮点型,例如 double(5,2)表示最多 5 位,其中必须有 2 位小数,即最大值为 999.99;
- decimal:浮点型 ,在表单钱方面使用该类型,因为不会出现精度缺失问题;
- char:固定长度字符串类型,char(255);
- varchar: 可变字符串类型:varchar(65535);
- text(clob):字符串类型;
- tinytext 28 - 1 Byte
- text 216 - 1 Byte
- mediumtext 224 - 1 Byte
- longtext 234 - 11 Byte
- blob :字节类型;
- tinyblob 28 - 1 Byte
- blob 216 - 1 Byte
- mediumblob 224 - 1 Byte
- longblob 234 - 1 Byte
- date:日期类型,格式为:yyyy-MM-dd;
- time: 时间类型 格式为:hh:mm:ss
- timestamp: 时间戳类型;
二、表
- 创建表:
1 | CREATE TABLE [IF NOT EXISTS] TABLENAME (cloumn01 type01,cloumn02 type02,cloumn03 type03); |
- 查看当前数据库中所有表名称:SHOW TABLES;
- 查看指定表的创建语句:SHOW CREATE TABLE 表名(了解);
- 查看表结构:DESC 表名;
- 删除表结构:DROP TABLE 表名;
- 修改表:前缀:ALTER TABLE 表名;
- 修改之添加列:
AlTER TABLE 表名 ADD (
列名 列类型,
列名 列类型,
…
) - 修改列类型(如果被修改的列已存在数据,那么新的列类型可能会影响到已存在数据):ALTER TABLE 表名 MODIFY 列名 列类型
- 修改列名:ALTER TABLE 表名 CHANGE 原列名 新列名 新类型
- 删除列:ALTER TABLE 表名 DROP 列名
- 修改表名称:ALTER TABLE 原表名 RENAME TO 新表名
DML
- 添加表记录
1 | INSERT INTO tableName (c1,c2,c3)values(v1,v2,v3); |
- 修改表记录
1 | update tableName set c1 = v1,c2 = v2; |
DCL
- 一个项目创建一个用户!一个项目对应的数据库只有一个!
- 这个用户只能对这个数据库有权限,其他数据库不能操作
- 创建用户
- 在指定的 IP 地址上登录
1 | CREATE USER username@IP IDENTIFIED BY 'password' |
- 在任意的 IP 地址上登录
1 | CREATE USER username@'%' IDENTIFIED BY 'password' |
- 给用户授权
1 | -- 部分权限授权 |
- 撤销授权
1 | REVOKE CREATE,ALTER,DROP,UPDATE,DELETE ON mydb.* FROM username@IP |
- 查看权限
1 | SHOW GRANTS FOR username@IP |
- 删除用户
1 | DROP USER username@IP |
DQL
1 | SELECT * FROM tableName; |
常用函数
1 | IFNUll(c1,v1); |
聚合函数
1 | -- 统计 employees 表中的记录数量 |
联合查询
1 | -- 查询 table1 和 table2 的 column1 列,去除重复行 |