暑期自学 Day 09 | 数据库(一)- SQL,DDL

SQL (Structured Query Language)

  • 是一种规则,定义了如何操作所有关系型数据库(如Oracle, Mysql DB2)

SQL 通用语法

  • 单行多行书写,分号结尾
  • 不区分大小写,但关键字建议大写
  • 注释
    • 单行:-- 这是一段注释# 这是一段注释
    • 多行 /* 这是一段注释 */

SQL 分类

  • DDL (Data Definition Language): 操作数据库和表
  • DML (Data Manipulation Language): 增删改表中数据
  • DQL (Data Query Language): 查询数据
  • DCL (Data Control Language): 授权访问权限,创建用户
DDL

操作数据库:

  • CRUD:
    • Create
      • create database mysql 创建指定名称的数据库
      • create database if not exists mysql 创建前判断是否存在该名称
      • create database mysql character set gbk 创建指定字符集的数据库
    • Retrieve
      • show databases; 查询所有数据库
      • show create database 'mysql'; 查询该数据库的创建语句和字符集
    • Update
      • alter database mysql character set uft8;
    • Delete
      • drop databse mysql;drop database if exists mysql;

操作表:

  • CRUD:
    • Create
      • create table t_name ( column1 type1, column2 type2, ... columnN typeN );
      • 数据库类型:
        1. int: age int
        2. double: score double(5, 2)
        3. date: yyyy-MM-dd
        4. datetime: yyyy-MM-dd HH:mm:ss
        5. timestamp: yyyy-MM-dd HH:mm:ss, 不赋值为当前值
        6. varchar: name varchar(20), 最大20字符
          • create table t_name ( id int, name varchar(32), age int, score double(4, 1), birthday date, insert_time timestamp );
      • 复制表
        • create table t_name like origin_table_name;
    • Retrieve
      • show tables 显示某个数据库中所有的表
      • desc table_name 查询某个表的结构
    • Update
      • 修改表名
        • alter table old_name rename to new_table;
      • 修改字符集
        • alter table t_name character set utf8;
      • 添加一列
        • alter table t_name add col_name type;
      • 修改一列
        • alter table t_name change name new_name varchar(20);
        • alter table t_name modify name varchar(20);
      • 删除一列
        • alter table t_name drop name;
    • Delete
      • drop table t_namedrop table if exists t_name
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!