SQL语言之DDL、DML

目录

前言:

DDL:

数据库操作: 

数据表操作: 

约束:

DML:

插入语句: 

修改语句: 

删除语句: 


前言:

大家好啊!

好久不见,甚是想念!

今天来给大家介绍介绍SQL语言之数据定义语言、数据操作语言,也就是DDL和DML了。

查看源图像

DDL:

DDL(Data Define Languge):数据定义语言,用于库和表的创建、修改、删除
关键字:create, drop,alter等

数据库操作: 

创建数据库create database 数据库名称;
创建数据库,判断不存在,再创建create database if not exists 数据库名称;
创建数据库,并指定字符集create database 数据库名称 character set 字符集名;
查询所有数据库的名称:   show databases;
查询某个数据库的字符集:查询某个数据库的创建语句  show create database 数据库名称;
修改数据库的字符集alter database 数据库名称 character set 字符集名称;
删除数据库   drop database 数据库名称;
判断数据库存在,存在再删除drop database if exists 数据库名称;
查询当前正在使用的数据库名称   select database();
使用数据库  use 数据库名称;

数据表操作: 

表的创建
 
create table 表名(
                列名1 数据类型1 【字段约束】,
                列名2 数据类型2 【字段约束】,
                ....
                列名n 数据类型n 【字段约束】
            );
    * 注意:最后一列,不需要加逗号(,)
查询当前数据库中所有的表show tables;
查询某个数据库中所有的表show tables from 数据库名称;
查询表结构desc 表名;
修改表名alter table 表名 rename to 新的表名;
修改表的字符集alter table 表名 character set 字符集名称;
添加一列alter table 表名 add 列名 数据类型;
修改列名称 类型alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
删除列alter table 表名 drop 列名;
删除表drop table 表名;
drop table  if exists 表名;

约束:

六大约束:
    NOT NULL:非空,用于保证该字段的值不能为空
        比如姓名、学号等
    DEFAULT:默认,用于保证该字段有默认值
        比如性别
    PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
        比如学号、员工编号等
    UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空
        比如座位号
    CHECK:检查约束【mysql中不支持】
        比如年龄、性别
    FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值。在从表添加外键约束,用于引用主表中某列的值,比如学生表的专业编号,员工表的部门编号,员工表的工种编号 

DML:

DML(Data Manipulate Language):数据操纵语言,用于添加、删除、修改数据库记录,并检查数据完整性                            

关键字:insert, delete, update 等

插入语句: 

语法
    insert into 表名(字段名,...)
    values(值1,...);

特点
    1、字段类型和值类型一致或兼容,而且一一对应
    2、可以为空的字段,可以不用插入值,或用null填充
    3、不可以为空的字段,必须插入值
    4、字段个数和值的个数必须一致
    5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致

修改语句: 

修改单表语法
    update 表名 set 字段=新值,字段=新值
    【where 条件】

修改多表语法
    update 表1 别名1,表2 别名2
    set 字段=新值,字段=新值
    where 连接条件
    and 筛选条件

删除语句: 

方式1:delete语句 
    单表的删除 ★
        delete from 表名 【where 筛选条件】
    多表的删除
        delete 别名1,别名2
        from 表1 别名1,表2 别名2
        where 连接条件
        and 筛选条件;

方式2:truncate语句
    truncate table 表名
        会直接删除掉全部数据,不会删除掉表

delete pk truncate【面试题★】
    1.truncate不能加where条件,而delete可以加where条件
    2.truncate的效率高一丢丢
    3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始
        delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
    4.truncate删除不能回滚,delete删除可以回滚

情深深雨濛濛表情包 的图像结果

拜拜!咱们下回见!

  • 14
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值