• mysql--sql语言之DDL,DML


    CREATE:

    1. 创建数据库                                                      CREATE DATABASE 数据库名称;
    2. 创建数据库(判断,如果不存在则创建)            CREATE DATABASE IF NOT EXISTS 数据库名称;
    3. 创建数据库、并指定字符集                             -- 创建数据库db3、并指定字符集utf8CREATE DATABASE db3 CHARACTER SET utf8;
    4. 创建数据表         

      CREATE TABLE 表名(
      列名1 数据类型1,
      列名2 数据类型2,
      ....
      列名n 数据类型n
      );

    5. 复制表   

      -- 复制product表到product2表
      CREATE TABLE product2 LIKE product;     

       SHOW :

    1. 查询所有数据库                                 SHOW DATABASES;
    2. 查询某个数据库的创建语句(查看字符集)

      -- 查看mysql数据库的创建格式
      SHOW CREATE DATABASE mysql;

    3. 查询库中所有的表                        SHOW TABLES;
    4. 查询表字符集     

      -- 查看mysql数据库中user表字符集
      SHOW TABLE STATUS FROM mysql LIKE 'user'; 

    DESC:      

    1.   查询表结构    

      -- 查询user表结构
      DESC user;

    USE:

    1. 使用数据库:

      -- 使用db4数据库
      USE db4;

    ALTER:

    1. 修改数据库的字符集

      -- 修改数据库db4的字符集为utf8
      ALTER DATABASE db4 CHARACTER SET utf8;

    2. 修改表名 

      -- 修改product2表名为product3
      ALTER TABLE product2 RENAME TO product3;

    3. 修改表的字符集

      -- 修改product3数据表字符集为gbk
      ALTER TABLE product3 CHARACTER SET gbk;

    4. 添加一列

      -- 给product3表添加一列color
      ALTER TABLE product3 ADD color VARCHAR(10);

    5. 修改列的数据类型

      -- 将color数据类型修改为int
      ALTER TABLE product3 MODIFY color INT;

    6. 修改列名

      -- 将color修改为address,数据类型为varchar
      ALTER TABLE product3 CHANGE color address VARCHAR(30);

    7. 删除列

      -- 删除address列
      ALTER TABLE product3 DROP address;

    8. 删除主键

      -- 删除主键(主键是表属性不归于那一列
      ALTER TABLE student DROP PRIMARY KEY;

    9. 建表后单独添加主键

      -- 添加主键(关于主键的去除和添加:除问上,加问下)
      ALTER TABLE student MODIFY id INT PRIMARY KEY;

    10. 删除自动增长

      -- 删除自动增长
      ALTER TABLE student2 MODIFY id INT;

    11. 建表后单独添加自动增长

      -- 添加自动增长
      ALTER TABLE student2 MODIFY id INT AUTO_INCREMENT;

    12. 删除唯一约束

      -- 删除唯一约束
      ALTER TABLE student3 DROP INDEX tel;

    13. 建表后单独添加唯一约束

      -- 添加唯一约束(唯一约束的去除和添加:除问上,加问下)
      ALTER TABLE student3 MODIFY tel VARCHAR(20) UNIQUE;

    14. 删除非空约束

      -- 删除非空约束
      ALTER TABLE student4 MODIFY NAME VARCHAR(20);

    15. 建表后单独添加非空约束

      -- 添加非空约束
      ALTER TABLE student4 MODIFY NAME VARCHAR(20) NOT NULL;

    16. 删除外键约束

      -- 删除外键
      ALTER TABLE orderlist DROP FOREIGN KEY ou_fk1;

    17. 建表后添加外键约束

      -- 添加外键约束
      ALTER TABLE orderlist ADD CONSTRAINT ou_fk1 FOREIGN KEY (uid) REFERENCES USER(id);

    18. 添加级联更新和级联删除

      -- 添加外键约束,同时添加级联更新和级联删除
      ALTER TABLE orderlist ADD CONSTRAINT ou_fk1 FOREIGN KEY (uid) REFERENCES USER(id) ON UPDATE CASCADE ON DELETE CASCADE;

    19.  修改视图2的列名city_id为id(类似重新赋值

      ALTER
      VIEW
      city_country2 (id,city_name,cid,country_name)
      AS
      SELECT t1.*,t2.country_name FROM city t1,country t2 WHERE t1.cid=t2.id;

    20. 修改表的引擎:ALTER TABLE product ENGINE=引擎名称;

    ALTER总结:

    • 对于数据库(表)属性的(不牵扯属于列的具体内容)使用的功能都有具体名称:character set ***;rename to ***;  add;  change;  drop;  (这些我定义为上级功能)
    • 对于要修改表内属于列的具体属性使用的功能:modify(中文是微调:意为调节列的某一属性我把这个功能定义为下级功能

     INSERT INTO:

    1. 格式1:给指定列添加数据

      -- 向product表添加指定列数据
      INSERT INTO product (id,NAME,price) VALUES (2,'电脑',4999);

    2. 格式2:默认给全部列添加数据

      -- 默认给全部列添加数据
      INSERT INTO product VALUES (3,'电视',2999,18,'2099-06-06');

    3. 格式3:批量添加数据

      -- 批量添加数据
      INSERT INTO product VALUES (4,'冰箱',999,26,'2099-08-08'),(5,'洗衣机',1999,32,'2099-05-10');

      -- 批量添加指定列数据
      INSERT INTO product (id,NAME,price) VALUES (6,'微波炉',499),(7,'电磁炉',899);

    UPDATE SET:

    1. 修改表数据语法

      -- 修改手机的价格为3500
      UPDATE product SET price=3500 WHERE NAME='手机';

      -- 修改电视的价格为1800、库存为36
      UPDATE product SET price=1800,stock=36 WHERE NAME='电视';

    (update set修改的是值(数据))

    DELETE FROM:

    1. 删除表数据语法

      -- 删除product表中的微波炉信息
      DELETE FROM product WHERE NAME='微波炉';

            

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

                                             

    迎风少年
  • 相关阅读:
    【知识整理】这可能是最好的性能优化教程(一)
    【工作感悟】Android 开发者,如何提升自己的职场竞争力?
    MySql 主从复制
    MyCat 介绍、分片规则、调优的内容收集
    MyCat 安装部署,实现数据库分片存储
    [转]Activemq管理和基本介绍
    [转]ActiveMQ 即时通讯服务 浅析
    Redis 3.0集群 Window搭建方案
    【转】史上最全的“大数据”学习资源整理
    【转】【漫画解读】HDFS存储原理
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13650113.html
Copyright © 2020-2023  润新知