DDL语言{数据定义语言}
DDL用于库和表的管理
DDL只操作库
和表
,不能操作数据
。
数据类型
数值类型
字符串类型
日期类型
库的管理
创建数据库
-- 创建数据库
-- 如果数据库存在会报错
create databases 数据库名;
-- CREATE SCHEMA 是 CREATE DATABASE 的同义词
create schema 数据库名
-- if not exists 如果数据库不存在则创建,如果存在不会报错
-- charset=utf8 设置字符为uft8
create database if not exists 数据库名 charset=uft8;
-- 查看数据库的字符集
show create database 数据库名;
创建数据库和表
删除数据库
-- 删除数据库
-- 如果数据库不存在会报错
drop database 数据库名;
-- if exists 如果数据库存在再删除,数据库不存在不会报错
drop database if exists数据库名;
修改数据库编码
-- 修改数据库的编码
alter database 数据库名 character set utf8mb4_general_ci
表的管理
创建数据表:
-- 创建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 '部门'
);
注意
:要创建表,需要先要use 数据库
-- 创建表:
-- 注意:要创建表.需要先use 数据库;
create table 表名(
字段名 数据库类型,
字段名 数据库类型,
字段名 数据库类型
);
用子查询结果创建表
create table as
的时候,只有非空约束
可以复制,其他约束
不能被复制。
用a表结构复制b表结构
create用like
关键字复制表数据,但不能复制约束(除了非空约束)
为表增加注释
为表中的列增加注释
-- 修改列的位置
create table 表名(
列名1 int(4) comment '注释信息'
);
-- 查看注释
show full columns FROM 表名;
修改列注释
-- 修改列注释
ALTER TABLE 表名 MODIFY 列名 列数据类型 comment '列的注释信息';
-- 查看注释
show full columns FROM 表名;
删除数据表
-- 删除表:
drop table 表名;
修改表名
-- 修改表名 rename
alter table 旧表名 rename 新表名;
修改字段的数据类型 MODIFY
-- 修改字段的数据类型 MODIFY
alter table 表名 MODIFY 字段名 字段类型;
修改字段名 change
-- 修改字段名 change
alter table 表名 change 旧字段名 新字段名 新字段类型;
添加字段 add first after
-- 将字段firstname 添加到age字段之后
alter table student add firstname varchar(5) after age;
-- 将firstname添加到第一列
alter table student add firstname varchar(5) first
删除字段 drop
-- 删除字段 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');