六、DDL语言(数据定义语言)

DDL用于库和表的管理

DDL只操作,不能操作数据
在这里插入图片描述
在这里插入图片描述


数据类型

image.png

数值类型

image.png
image.png

字符串类型

image.png

日期类型

image.png

库的管理


创建数据库

-- 创建数据库
-- 如果数据库存在会报错
create databases 数据库名;

--  CREATE SCHEMA 是 CREATE DATABASE 的同义词
create schema 数据库名

-- if not exists 如果数据库不存在则创建,如果存在不会报错
-- charset=utf8  设置字符为uft8
create database if not exists 数据库名 charset=uft8;

-- 查看数据库的字符集
show create database 数据库名;

创建数据库和表

image.png

删除数据库

-- 删除数据库
-- 如果数据库不存在会报错
drop database 数据库名;

-- if exists 如果数据库存在再删除,数据库不存在不会报错
drop database if exists数据库名; 

在这里插入图片描述


修改数据库编码

-- 修改数据库的编码
alter database 数据库名 character set utf8mb4_general_ci

表的管理

image.png


创建数据表:

image.png
在这里插入图片描述

-- 创建mydb4数据库
CREATE database mydb4;
-- 选中mydb4数据库
use mydb4;
-- 创建数据表
CREATE TABLE emp(
    emp_id INT PRIMARY KEY auto_increment comment '编号',  --主键,自增
    emp_name CHAR(20) NOT NULL DEFAULT '' comment '姓名',
    salary decimal(10, 2) NOT NULL DEFAULT 0 comment '工资',
    department CHAR(20) NOT NULL DEFAULT '' comment '部门'
);

在这里插入图片描述

image.png
注意:要创建表,需要先要use 数据库

-- 创建表:
-- 注意:要创建表.需要先use 数据库;
create table 表名(
  字段名 数据库类型,
  字段名 数据库类型,
  字段名 数据库类型
);

用子查询结果创建表

create table as的时候,只有非空约束可以复制,其他约束不能被复制。
image.png
image.png


用a表结构复制b表结构

create用like关键字复制表数据,但不能复制约束(除了非空约束)
image.png
image.png


为表增加注释

为表中的列增加注释

-- 修改列的位置
create table 表名(
    列名1 int(4) comment '注释信息'
);

-- 查看注释
show full columns FROM 表名;

在这里插入图片描述


修改列注释
-- 修改列注释
ALTER TABLE 表名 MODIFY 列名 列数据类型 comment '列的注释信息';

-- 查看注释
show full columns FROM 表名;

在这里插入图片描述


删除数据表

-- 删除表:
drop table 表名;

修改表名

-- 修改表名 rename
alter table 旧表名 rename 新表名;

image.png


修改字段的数据类型 MODIFY

-- 修改字段的数据类型 MODIFY
alter table 表名 MODIFY 字段名 字段类型;

修改字段名 change

-- 修改字段名 change
alter table 表名 change 旧字段名 新字段名 新字段类型;

添加字段 add first after

image.png

-- 将字段firstname 添加到age字段之后
alter table student add firstname varchar(5) after age;

-- 将firstname添加到第一列
alter table student add firstname varchar(5) first

删除字段 drop

image.png

-- 删除字段 drop 
alter table 表名 drop 字段名;

数据库alter用法总结


1:删除列

-- 删除列
ALTER TABLE 【表名】 DROP 【列名】;

2:增加列

-- 增加列
ALTER TABLE 【表名】 ADD 【列名】 【类型】;
alter table table1 add transactor varchar(10) not Null;

3:重命名列

-- 重命名列
ALTER TABLE 【表名】 CHANGE 【列名】【新名】;

4:修改表字段

-- 修改表字段
alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
alter table 表名称 modify 字段名称 字段类型 [是否允许非空];

5:查询表的字段信息

-- 查询表的字段信息
desc 表名称;

6:创建索引

-- 创建索引
ALTER TABLE tbl_name ADD INDEX index_name (column list);

7:删除索引

-- 删除索引
ALTER TABLE tbl_name DROP INDEX index_name (column list);

8:修改表名

-- 修改表名
ALTER TABLE tbl_name rename new_tbl_name;

9.简单查看表结构

-- 简单描述表结构,字段类型
desc tabl_name;

10.查看表创建过程

-- 查看表生成的DDL
show create table table_name;

11.插入数据

-- 不指定字段插入:
insert into 表名 values (1,'lsii',56,'13512345678');

-- 指定字段名插入:
insert into student (name,age,stuphone) values ('lsii',56,'13512345678');

-- 同时插入多行数据:
insert into student values 
(2,'wangwu',46,'13612345678'),
(3,'sadfsa',34,'13412345678');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值