• mysql的DDL语言和DML语言


    DDL语言:
    操作数据库,表等(创建,删除,修改);

    操作数据库

    1:查询

    show databases

    2:创建

    创建数据库

     create database  数据库名称

    创建数据库,如果不存在就创建 

     create database if not exists 数据库名称

    1. /*创建db1数据库*/
    2. create database db1;
    3. /*创建数据库db2,如果不存在的话*/
    4. create database if not exists db2;m

     

    可以发现已经创建了两个数据库; 

    3:删除

    删除数据库

    drop database 数据库名称 

    删除数据库,如果存在的话 

    drop database if exists 数据库名称

    1. /*删除数据库*/
    2. drop database db1;
    3. /*删除数据库,如果存在的话*/
    4. drop database if exists db2;

     

    可见这两个数据已经被删除 

    4:使用数据库

    查看当前使用的数据库

    select database() 

    1. /*查看当前使用的数据库名称*/
    2. select database();

     

    使用某个数据库

    use 数据库名称 

    use db1;

     结果可见上图;

    操作数据表

    查询表

    查询当前数据库下所有表的名称

    show tables;

    查询表结构 

    desc 表名称 
    create table 表名(

    创建表 

    字段名1 数据类型1,

    字段名2 数据类型2,

    字段名n 数据类型n(最后一行不用加,)

    ) ;

     数据类型

    类型描述
    int整形
    double浮点型
    varchar字符串型
    data

    日期类型,格式为yyyy-MM-dd,只有年月日,没有时分秒

     

    例子:创建一张学生表,用于存储学生的信息:

    1. # 创建表
    2. create table student
    3. (
    4. id int,#学生id
    5. name varchar(10),#学生名字#varchar属于可变字符串长度,最大为10
    6. gender char(1),#学生性别,#char类型是固定长度的字符串 例如 char(2) 存储:'男 ' 会自动补充空格
    7. birthday date,#学生生日
    8. score double,#学生分数
    9. email varchar(64),#学生邮箱
    10. tel varchar(20),#学生电话
    11. state int #使用数字来表示,0是正常,1是病假
    12. );

     展示表的结构:
     

    desc student;

    删除表:

    删除表

    drop table 表名; 

    删除表,如果存在的话

    drop table if exists 表名; 

     修改表

    1修改表名

    alter table 表名 rename to 新的表名

    2添加一列

    alter table 表名 add 列名 数据类型 

    3修改数据类型

    alter table 表名 modify 列名 新数据类型 

    4修改列名和数据类型

    alter table 表名 change 列名 新列名 新数据类型 

    5删除列

    alter table 表名 drop 列名 

    1. #修改表的名字为stu
    2. alter table student rename to stu;
    3. show tables;
    4. #向表中添加新的一列
    5. alter table stu add marks varchar(100);
    6. desc stu;
    7. #修改表中某一列的类型
    8. alter table stu modify marks char(50);
    9. desc stu;
    10. #修改表中某列的列名和列的类型
    11. alter table stu change marks mymark int;
    12. desc stu;
    13. #删除某个列
    14. alter table stu drop mymark;
    15. desc stu;

     DML语言:
    针对数据表中的记录进行增删改操作

    添加


    1 向数据表指定列添加数据

    insert into 表名(列名1,列名2...) values(值1,值2)

     2给全部列添加数据

    insert into 表名 values(值1,值2...)

    3批量添加数据

    insert into 表名(列名1,列名2...) values(值1,值2...),values(值1,值2...)...;

    1. #1向表中的指定列添加数据
    2. insert into stu(id,name) values (3,'hhh');#SQL中字符串使用单引号
    3. insert into stu(id,name,gender,birthday,score) values (3,'小何','男','2005-2-1',100.0);
    4. desc stu;
    5. #2向表中的所有列中添加数据
    6. insert into stu values (6,'cc','女','2009-3-1',90.0,'qq@.com','182',1);
    7. #3向表批量添加数据
    8. insert into stu (name,score) values ('ddd',89),('kkk',70);

     

    修改

    1.修改表数据

    update 表名 set 列名1=值1,列名2=值2  [where 条件];

    1. create table people
    2. (
    3. id int,
    4. name varchar(10),
    5. sex char(1)
    6. );
    7. -- 增加数据
    8. insert into people (id,name,sex) values(1,'小明','男'),(2,'小红','女'),(3,'小李','男');
    9. -- 修改,把id为1和3的性别改成女
    10. update people set sex='女' where id in(1,3);#id 为13

     删除

    1.删除数据

    delete from 表名 [where 条件];//会删除满足条件的所有行记录

    要想删除所有数据,就把条件设置为 1=1;

    delete from people where id in (1,2);-- in关键字表示某个指定的范围内,删除id=1和2的行

    可以发现id为1,2的行被删除了。

    2.truncate删除表记录,属于DDL

    truncate table 表名;//把表中的记录都删除 

    delete from people where 1=1;
    select  * from people;
    truncate table people;

    delete和truncate的区别

    delete是逐行删除表中的记录(是一行一行删除的)

    truncate是把整个表销毁后,在重现创建一个表结构一样的表

     

  • 相关阅读:
    记一次Tomcat卡死在 Deploying web application 步骤的问题
    iptables 防火墙配置
    数据结构之数组
    黄灰色鱼骨流程图图表合集PPT模板
    LeetCode--151
    项目级AIMS手术麻醉信息系统源码,C#手麻系统源码,应用案例+演示
    『Halcon与C#混合编程』001_环境搭建
    RPC协议交互流程
    Elasticsearch in 查询
    关于前端开发的起源,架构,变迁
  • 原文地址:https://blog.csdn.net/luosuss/article/details/138089428