mysql基础之DDL和DML以及mysql的数据类型

本文详细介绍了SQL的通用语法,包括DDL(数据定义语言)中的数据库操作(如创建、删除和切换数据库,以及表的操作),以及DML(数据操纵语言)中的插入、更新和删除数据的方法。涵盖了数据类型、表结构修改等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.sql的通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. SQL语句可以使用空格/缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  4. 注释:
    单行注释:–注释内容或#注释内容(MySQL特有)
    多行注释:/注释内容/

2.sql分类

在这里插入图片描述

2.1DDL

2.1.1 DDL-数据库操作
  1. 查询
    查询所有数据库
SHOW DATABASES;

查询当前库

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

例子

CREATE DATABASE IF NOT EXISTS test1112 DEFAULT CHARSET utf8mb4;
  1. 删除
DROP DATABASE [IF EXISTS] 数据库名
DROP DATABASE IF EXISTS test111
  1. 使用(切换数据库)
use 数据库名
  1. 修改数据库编码
ALTER DATABASE 数据库名称 CHARACTER SET utf8mb4
2.1.2 DDL 数据库表操作
  1. 查询当前数据库所有表
show tables;
  1. 查询表结构
DESC  表名;
  1. 查看指定表的建表语句
SHOW CREATE TABLE 表名;
  1. 创建表
create table [if not exists]表名(
  字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
  字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
  字段名3 类型[(宽度)] [约束条件] [comment '字段说明'],
  ...
  字段n 类型[(宽度)] [约束条件] [comment '字段说明']
)[表的一些设置];

注意:

  1. […]为可选参数,最后一个字段后面没有逗号
  2. 创建表是构建一张空表,指定这个表的名字,这个表有几列,每一列叫什么名字,以及每一列存储的数据类型。
    案例
#此案例只是简单使用
# 1.选择使用的数据库
use mydb1;
# 2.创建student表
create  table if not exists student(
    sid int,
    name varchar(20),
    gender varchar(20),
    age int,
    birth date, 
    address varchar(20),
    score double
);
数据库表中数据类型

1. 数据类型的解释

数据类型是指在创建表的时候为表中字段指定数据类型,只有数据符合类型要求才能存储起来,使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

  1. 数值类型
    在这里插入图片描述
    补充: tinyint unsigned 就代表无符号的范围 0-255 E+38代表 10的38次方
    在这里插入图片描述

比如年龄的设定

 age tinyint unsigned

score的设定

# 4代表数据的最大长度,1代表小数点后数字的个数 110.5
score double(4,1) 
  1. 字符串类型
    在这里插入图片描述

  2. 日期时间类型
    在这里插入图片描述

对表结构的常用操作-修改表结构格式

1. 修改表添加列
语法格式

alter table 表名 add 列名 类型(长度) [约束];

例子:

#为student表添加一个新的字段为:系别 dept 类型为 varchar(20)
ALTER TABLE student ADD COLUMN dept VARCHAR(20)

2. 修改列名和类型
语法格式

alter table 表名 change 旧列名 新列名 类型(长度) 约束;

例子:

#为student表的dept字段更换为department varchar(30)
ALTER TABLE student CHANGE COLUMN dept department VARCHAR(30)

3. 修改表删除列.
语法格式:

alter table 表名 drop 列名;

例子

ALTER TABLE student DROP department;

4. 修改表名
语法格式:

rename table 表名 to 新表名;

例子:

#将表student改名成 stu
RENAME TABLE student TO stu;

2.2. DML

2.2.1 基本介绍

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。关键字
插入insert,删除delete,更新update
在这里插入图片描述

2.2.2 具体操作,增删改

1. 数据插入
语法格式:

insert into(列名1,列名2,列名3...) values (1,2,3...)//向表中插入某些
insert intovalues (1,2,3...);     //向表中插入所有列

案例

insert into student(sid,name,gender,age,birth,address,score)
                       values(1001,'男',18,'1996-12-23','北京',83.5);
insert into student values(1001,'男',18,'1996-12-23','北京',83.5);

2. 数据修改
语法格式:

update 表名 set 字段名=,字段名=...;
update 表名 set 字段名=,字段名=... where 条件;

例子:

# 将所有学生的地址修改为重庆 
update student set address = '重庆’; 

# 讲id为1004的学生的地址修改为北京 
update student set address = '北京' where id = 1004 

-- 讲id为1005的学生的地址修改为北京,成绩修成绩修改为100 
update student set address = '广州',score=100 where id = 1005

3. 数据删除

语法格式

delete from 表名 [where 条件];
truncate table  表名 或者 truncate 表名

例子

-- 1.删除sid为1004的学生数据
delete from student where sid  = 1004;
-- 2.删除表所有数据
delete from student;
-- 3.清空表数据
truncate table student;
truncate student;

注意:delete和truncate原理不同,delete只删除内容,而truncate类似于drop table ,可以理解为是将整个表删除,然后再创建该表;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值