• sql数据库基本操作DDL


    DDL-操作数据库

    • R(Retrieve):查询

      • 查询所有数据库
      -- 查询所有数据库
      SHOW DATABASES;
      
      • 查询某个数据库的创建语句
      -- 标准语法
      SHOW CREATE DATABASE 数据库名称;
      
      -- 查看mysql数据库的创建格式
      SHOW CREATE DATABASE mysql;
      
    • C(Create):创建

      • 创建数据库
      -- 标准语法
      CREATE DATABASE 数据库名称;
      
      -- 创建db1数据库
      CREATE DATABASE db1;
      
      -- 创建一个已存在的数据库会报错
      -- 错误代码:1007  Can't create database 'db1'; database exists
      CREATE DATABASE db1;
      
      • 创建数据库(判断,如果不存在则创建)
      -- 标准语法
      CREATE DATABASE IF NOT EXISTS 数据库名称;
      
      -- 创建数据库db2(判断,如果不存在则创建)
      CREATE DATABASE IF NOT EXISTS db2;
      
      • 创建数据库、并指定字符集
      -- 标准语法
      CREATE DATABASE 数据库名称 CHARACTER SET 字符集名称;
      
      -- 创建数据库db3、并指定字符集utf8
      CREATE DATABASE db3 CHARACTER SET utf8;
      
      -- 查看db3数据库的字符集
      SHOW CREATE DATABASE db3;
      
      • 练习:创建db4数据库、如果不存在则创建,指定字符集为gbk
      -- 创建db4数据库、如果不存在则创建,指定字符集为gbk
      CREATE DATABASE IF NOT EXISTS db4 CHARACTER SET gbk;
      
      -- 查看db4数据库的字符集
      SHOW CREATE DATABASE db4;
      
    • U(Update):修改

      • 修改数据库的字符集
      -- 标准语法
      ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;
      
      -- 修改数据库db4的字符集为utf8
      ALTER DATABASE db4 CHARACTER SET utf8;
      
      -- 查看db4数据库的字符集
      SHOW CREATE DATABASE db4;
      
    • D(Delete):删除

      • 删除数据库
      -- 标准语法
      DROP DATABASE 数据库名称;
      
      -- 删除db1数据库
      DROP DATABASE db1;
      
      -- 删除一个不存在的数据库会报错
      -- 错误代码:1008  Can't drop database 'db1'; database doesn't exist
      DROP DATABASE db1;
      
      • 删除数据库(判断,如果存在则删除)
      -- 标准语法
      DROP DATABASE IF EXISTS 数据库名称;
      
      -- 删除数据库db2,如果存在
      DROP DATABASE IF EXISTS db2;
      
    • 使用数据库

      • 查询当前正在使用的数据库名称
      -- 查询当前正在使用的数据库
      SELECT DATABASE();
      
      • 使用数据库
      -- 标准语法
      USE 数据库名称;
      
      -- 使用db4数据库
      USE db4;
      

    2.DDL-操作数据表

    • R(Retrieve):查询

      • 查询数据库中所有的数据表
      -- 使用mysql数据库
      USE mysql;
      
      -- 查询库中所有的表
      SHOW TABLES;
      
      • 查询表结构
      -- 标准语法
      DESC 表名;
      
      -- 查询user表结构
      DESC user;
      
      • 查询表字符集
      -- 标准语法
      SHOW TABLE STATUS FROM 库名 LIKE '表名';
      
      -- 查看mysql数据库中user表字符集
      SHOW TABLE STATUS FROM mysql LIKE 'user';
      
    • C(Create):创建

      • 创建数据表

        • 标准语法
        CREATE TABLE 表名(
            列名1 数据类型1,
            列名2 数据类型2,
            ....
            列名n 数据类型n
        );
        -- 注意:最后一列,不需要加逗号
        
        • 数据类型
        1. int:整数类型
        	* age int
        2. double:小数类型
        	* score double(5,2)
        	* price double
        3. date:日期,只包含年月日     yyyy-MM-dd
        4. datetime:日期,包含年月日时分秒	 yyyy-MM-dd HH:mm:ss
        5. timestamp:时间戳类型	包含年月日时分秒	 yyyy-MM-dd HH:mm:ss	
        	* 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
        6. varchar:字符串
        	* name varchar(20):姓名最大20个字符
        	* zhangsan 8个字符  张三 2个字符
        
        • 创建数据表
        -- 使用db3数据库
        USE db3;
        
        -- 创建一个product商品表
        CREATE TABLE product(
        	id INT,				-- 商品编号
        	NAME VARCHAR(30),	-- 商品名称
        	price DOUBLE,		-- 商品价格
        	stock INT,			-- 商品库存
        	insert_time DATE    -- 上架时间
        );
        
        • 复制表
        -- 标准语法
        CREATE TABLE 表名 LIKE 被复制的表名;
        
        -- 复制product表到product2表
        CREATE TABLE product2 LIKE product;
        
    • U(Update):修改

      • 修改表名
      -- 标准语法
      ALTER TABLE 表名 RENAME TO 新的表名;
      
      -- 修改product2表名为product3
      ALTER TABLE product2 RENAME TO product3;
      
      • 修改表的字符集
      -- 标准语法
      ALTER TABLE 表名 CHARACTER SET 字符集名称;
      
      -- 查看db3数据库中product3数据表字符集
      SHOW TABLE STATUS FROM db3 LIKE 'product3';
      -- 修改product3数据表字符集为gbk
      ALTER TABLE product3 CHARACTER SET gbk;
      -- 查看db3数据库中product3数据表字符集
      SHOW TABLE STATUS FROM db3 LIKE 'product3';
      
      • 添加一列
      -- 标准语法
      ALTER TABLE 表名 ADD 列名 数据类型;
      
      -- 给product3表添加一列color
      ALTER TABLE product3 ADD color VARCHAR(10);
      
      • 修改列名称和数据类型
      -- 修改数据类型 标准语法
      ALTER TABLE 表名 MODIFY 列名 新数据类型;
      
      -- 将color数据类型修改为int
      ALTER TABLE product3 MODIFY color INT;
      -- 查看product3表详细信息
      DESC product3;
      
      
      -- 修改列名和数据类型 标准语法
      ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
      
      -- 将color修改为address,数据类型为varchar
      ALTER TABLE product3 CHANGE color address VARCHAR(30);
      -- 查看product3表详细信息
      DESC product3;
      
      • 删除列
      -- 标准语法
      ALTER TABLE 表名 DROP 列名;
      
      -- 删除address列
      ALTER TABLE product3 DROP address;
      
    • D(Delete):删除

      • 删除数据表
      -- 标准语法
      DROP TABLE 表名;
      
      -- 删除product3表
      DROP TABLE product3;
      
      -- 删除不存在的表,会报错
      -- 错误代码:1051  Unknown table 'product3'
      DROP TABLE product3;
      
      • 删除数据表(判断,如果存在则删除)
      -- 标准语法
      DROP TABLE IF EXISTS 表名;
      
      -- 删除product3表,如果存在则删除
      DROP TABLE IF EXISTS product3;
      
  • 相关阅读:
    Travis CI Could not find or load main class org.gradle.wrapper.GradleWrapperMain 错误
    HyperSQL 链接参数中文件的路径
    Maven 在 pom.xml 文件中配置 repositories 仓库
    Flyway Validate failed: Migration checksum mismatch for migration version 1.0.0.01 错误
    Angular 服务
    Angular 主从组件
    Angular 显示英雄列表
    Angular 英雄示例教程
    L2-002. 链表去重---模拟
    HDU2057
  • 原文地址:https://www.cnblogs.com/zhaoxiangjun/p/15160365.html
Copyright © 2020-2023  润新知