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='微波炉';

 

        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                         

posted @ 2020-09-11 10:33  Joker-0927  阅读(118)  评论(0编辑  收藏  举报
// 侧边栏目录