MySQL数据库的SQL分类之DDL、DML

目录

1. 数据库操作

2. 表操作

2.1 查询

2.2 创建

2.3 数据类型

2.4 修改

3. 添加数据

4. 修改数据

5. 删除数据


DDL 数据定义语言,用来定义数据库对象(数据库,表,字段)

DML 数据操作语言,用来对数据库中表的数据记录进行增删改操作。

1. 数据库操作

  • 查询

查询所有数据库:

SHOW DATABASES;

查询当前数据库:

SELECT DATABASE();
  • 创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];

如果要加字符集,最好使用 utf8mb4 这类字符集。

  • 删除
DROP DATABASE [IF EXISTS] 数据库名;
  • 使用
USE 数据库名;

2. 表操作

2.1 查询

  • 查询当前数据库所有表
SHOE TABLES;
  • 查询表结构
DESC 表名;
  • 查询指定表的建表语句
SHOW CREATE TABLE 表名;

2.2 创建

  • 创建表

        注意:[...]为可选参数,最后一个字段后面没有逗号。

CREATE TABLE 表名(
    字段1 字段1类型 [COMMENT 字段1注释],
    字段2 字段2类型 [COMMENT 字段2注释],
    字段3 字段3类型 [COMMENT 字段3注释],
    ......
    字段n 字段n类型 [COMMENT 字段n注释]
)[COMMENT 表注释];


例:
create table table_usr(
	id int comment '编号',
	name varchar(50) comment '姓名',
	age int comment '年龄',
	gender varchar(1) comment '性别'
) comment '用户表';

2.3 数据类型

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

W3Cschool-MySQL教程_数据类型

​​​​​​黑马程序员_MySQL数据库_数据类型

案例:根据需求创建表(设计合理的数据类型、长度)

1. 编号(纯数字):id int comment '编号'

2. 员工工号(字符串类型,长度不超过10位):workid varchar(10) comment '工号'

3. 姓名(字符串类型,长度不超过10位) :name varchar(10) comment '姓名'

4. 性别(男/女,存储一个汉字):gender char(1) comment '性别'

5. 年龄(正常人年龄,不可能存储负数):age tinyint unsigned comment '年龄'

6. 身份证号(18位,有X字符的存在):incard char(18) comment '身份证号'

7. 入职时间(年月日):entrydate date comment '入职时间'

2.4 修改

  • 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];

例:为emp表增加一个新的字段“昵称”为nickname,类型为varchar(20)。

alter table emp add nickname varchar(20) comment '昵称';
  • 修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新的数据类型(长度);
  • 修改字段名和数据类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

例:将emp表的nickname字段修改为username,类型为varchar(30)。

alter table emp change nickname username varchar;
  • 删除字段
ALTER TABLE 表名 DROP 字段名;
  • 修改表名
ALTER TABLE 表名 RENAME TO 新表名;
  • 删除表
DROP TABLE [IF EXISTS] 表名;
  • 删除指定表,并重新创建该表
TRUNCATE TABLE 表名;

注意:在删除表时,表中的全部数据也会被删除。

3. 添加数据

  •  给指定字段添加数据
INSERT INTO 表名 (字段名1,字段名2,...)VALUES (值1,值2,...);
  • 给全部字段添加数据
INSERT INTO 表名 VALUES (值1,值2,...);
  • 批量添加数据
INSERT INTO 表名 (字段名1,字段名2,...)VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);

INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);

注意:1.插入数据时,指定的字段顺序需要与值的顺序是一一对应的。

2.字符串和日期型数据应该包含在引号内。

3.插入数据的大小,应该在字段的规定范围内。

insert into tb_usr(id, name, age) VALUES (005,'李四',25);

insert into tb_usr values (002,'二',34);

insert into tb_usr(id, name, age) VALUES (005,'李四',25),(003,'九',26);

insert into tb_usr values (003,'三',45),(006,'六',32);

注意:插入中文字符时,需修改当前表格式为utf8格式:alter table `tablename` convert to character set utf8;

4. 修改数据

UPDATE 表名 SET 字段名1=值1,字段名2=值2,...[WHERE 条件];

注意:修改语句的条件可以有,也可以没有;如果没有,则会修改整张表的所有数据。

1、修改id为6的数据,将name修改为 老六,age 修改为 42
update tb_usr set name='老六',age=42 where id=6;

5. 删除数据

DELETE FROM 表名 [WHERE 条件]

注意:DELETE语句如果没有添加条件,则会删除整张表的所有数据。DELETE语句不能删除某一个字段的值(可以使用UPDATE)。

删除id为2的数据:
delete from tb_usr where id=2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值