mysql(DDL数据库操作和DML数据操作语言)

110 阅读2分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第2篇文章

DDL-数据库操作

  1. 查看所有数据库
show databases;
  1. 创建数据库并默认utf8(存储3个字节)字符集,utf8mb4(可存储4个字节)
create database 数据库名 default chartset utf8;  // 一个汉字就占2个字节
  1. 如果不存在该数据库,则创建数据库
create database if not exists 数据库名;
  1. 如果存在,就删除该数据库
drop database if exists 数据库名;
  1. 查询当前所在数据库
select database();

DDL-表操作-查询

  1. 查询所在数据库,所有表
show tables;
  1. 查看表结构
desc 表名; 
  1. 查看表详细结构
show create table 表名;

DDL-表操作-创建

创建表

create table 表名(
    字段1 字段1类型[comment 字段1注释],
    字段2 字段2类型[comment 字段2注释],
    ...
    字段n 字段n类型[comment 字段n注释]
)[comment 表注释];

DDL-表操作-修改

  1. 添加字段
alter table 表名 add 字段名 数据类型(长度) [comment注释][约束] ;
-- 例:alter table employee add nickname varchar(10) comment '昵称';
  1. 修改数据类型
alter table 表名 modify 字段名 新数据类型(长度);
  1. 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 数据类型(长度) [comment 注释] [约束];
  1. 删除字段
alter table 表名 drop 字段名;
  1. 修改表名
alter table 旧表名 rename to 新表名;
  1. 如果存在该表,则把这表删除掉
drop table if exists 表名;
  1. 删除指定表,并重新创建该表(里面都是空数据,是全新表)
truncate table 表名;

DML(数据操作语言)

DML-添加数据

注意事项:

  • 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
  • 字符串和日期型数据应该包含在引号中。
  • 插入的数据大小,应该在字段的规定范围内
  1. 给指定字段添加数据
insert into 表名(字段名1, 字段名2...) value(值1, 值2...);
  1. 给所有字段添加数据
insert into 表名 value(值1, 值2...);
  1. 给指定字段批量添加数据
insert into 表名(字段名1, 字段名2...) value(值1, 值2...), (值1, 值2...), (值1, 值2...)...;
  1. 给所有字段批量添加数据
insert into 表名 value(值1, 值2...), (值1, 值2...), (值1, 值2...)...;

DML-修改数据

注意:

  • 修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
update 表名 set 字段名1 = 值1, 字段名2 = 值2, ... [where条件];

DML-删除数据

注意:

  • delete语句的条件可以有,也可以没有,如果没有条件,则删除表中所有数据。
  • delete语句不能删除某一个字段的值(可以使用update)
delete from 表名 [where条件];