数据库SQL语言

  1. DDL (Data Definition Language): 数据定义语言
  2. DML (Data Manipulation Language):数据操作语言
  3. DCL (Data Control Language): 数据控制语言
  4. 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):字符串类型;
  1. tinytext 2^8-1 Byte
  2. text 2^16-1 Byte
  3. mediumtext 2^24-1 Byte
  4. longtext 2^34-1 Byte
  • blob :字节类型;
  1. tinyblob 2^8-1 Byte
  2. blob 2^16-1 Byte
  3. mediumblob 2^24-1 Byte
  4. 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 表名;
  1. 修改之添加列:
    AlTER TABLE 表名 ADD (
    列名 列类型,
    列名 列类型,

  2. 修改列类型(如果被修改的列已存在数据,那么新的列类型可能会影响到已存在数据):ALTER TABLE 表名 MODIFY 列名 列类型
  3. 修改列名:ALTER TABLE 表名 CHANGE 原列名 新列名 新类型
  4. 删除列:ALTER TABLE 表名 DROP 列名
  5. 修改表名称:ALTER TABLE 原表名 RENAME TO 新表名

DML

  • 添加表记录
    1
    INSERT INTO tableName (c1,c2,c3)values(v1,v2,v3);
  • 修改表记录
    1
    2
    3
    update 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

  • 一个项目创建一个用户!一个项目对应的数据库只有一个!
  • 这个用户只能对这个数据库有权限,其他数据库不能操作
  1. 创建用户
  • 在指定的IP地址上登录
1
CREATE USER username@IP IDENTIFIED BY 'password'
  • 在任意的IP地址上登录
1
CREATE USER username@'%' IDENTIFIED BY 'password'
  1. 给用户授权
    1
    2
    3
    4
    -- 部分权限授权
    GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb.* TO shawn@IP
    -- 所有权限授权
    GRANT ALL ON mydb.* TO username@IP
  2. 撤销授权
    1
    REVOKE CREATE,ALTER,DROP,UPDATE,DELETE ON mydb.* FROM username@IP
  3. 查看权限
    1
    SHOW GRANTS FOR username@IP
  4. 删除用户
    1
    DROP USER username@IP

DQL

1
SELECT * FROM tableName;

常用函数

1
2
3
4
5
6
7
8
9
IFNUll(c1,v1);
DATE_FORMAT("yyyy-MM-dd",'%Y-%m-%d');
CONCAT(v1,v2,v3);
distinct;
-- '_'匹配一个字符
-- '%'匹配零个到N个字符
like '_%';
-- (当前页-1)* 每页记录数
limit (17-1)*8,8

聚合函数

联合查询

聚合函数