数据库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 2^8-1 Byte
- text 2^16-1 Byte
- mediumtext 2^24-1 Byte
- longtext 2^34-1 Byte
- blob :字节类型;
- tinyblob 2^8-1 Byte
- blob 2^16-1 Byte
- mediumblob 2^24-1 Byte
- longblob 2^34-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
2
3update tableName set c1 = v1,c2 = v2;
update tableName set c1 = v1,c2 = v2 where c3 = v3 or c4 = v4;
delete * from stu where gender is null;
DCL
- 一个项目创建一个用户!一个项目对应的数据库只有一个!
- 这个用户只能对这个数据库有权限,其他数据库不能操作
- 创建用户
- 在指定的IP地址上登录
1 | CREATE USER username@IP IDENTIFIED BY 'password' |
- 在任意的IP地址上登录
1 | CREATE USER username@'%' IDENTIFIED BY 'password' |
- 给用户授权
1
2
3
4-- 部分权限授权
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb.* TO shawn@IP
-- 所有权限授权
GRANT ALL ON mydb.* TO username@IP - 撤销授权
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); |