DDL语言基础操作梳理(未涉及约束部分版)

目录

定义

1.查询操作

1.1数据库的查询

1.2表的查询 

2.操作数据库

2.1 数据库的创建:

2.2 数据库修改:

2.2.1修改数据库的字符集

 2.3 数据库的删除:

3.操作表

3.1表的创建

3.1.1 创建表:

3.1.2 复制表

3.2表的修改

3.2.1修改表名:

3.2.2修改表的字符集:

3.2.3添加新列:

3.2.4修改列数据类型:

3.2.5修改列名+数据类型:

3.2.6删除列:

3.3表的删除


定义

DDL(Data Definition Language)

数据定义语言,用来定义数据库对象【库、表、列等】的创建、删除、修改【库,表】结构,其中基本操作包括如下几类:

  • 增:Create
  • 删:Drop / Truncate
  • 改:Alter + add/drop/modify/change
  • 查:Show / Desc

1.查询操作

1.1数据库的查询

查看所有数据库名称:

- - -【语法:show databases;】

查询当前正在使用的数据库名称:

- - -【语法:select database();】

查询某个数据库的字符集/查询某个数据库的创建语句

- - -【show create database 数据库名称;】

切换数据库:

- - -【语法:use 库名;】

1.2表的查询 

显示库中所有的表:

当前数据库- - -【语法:show tables;】

其他数据库 - - -【语法:show tables from 库名;】

查询表:

结构 - - -【语法:desc 表名;】

内容 - - -【语法:select 【字段列表】 from goods 【查询语句】;】

2.操作数据库

2.1 数据库的创建:

#语法:
#1.创建一个名为 test的数据库。如果这个数据已经存在,那么会报错。
create database test;

#2.容错处理:如果不存在创建,存在就不创建!
#在名为 test的数据库不存在时创建该库,这样可以避免报错。
create database if not exists test;

#3.创建时设置字符集
create database if not exists test character set 字符集名 ;

2.2 数据库修改:

2.2.1修改数据库的字符集

#语法:
alter database test character set utf8;
#修改数据库test的编码为utf8。
#注意,在MySQL中所有的UTF-8编码都不能使用中间的“-”,即UTF-8要书写为UTF8。

 2.3 数据库的删除:

#语法:
#删除名为test的数据库。如果这个数据库不存在,那么会报错。
drop database test;

#容错处理:如果存在删除,不存在就不删除!
#就算test不存在,也不会的报错。
drop database if exists test;

3.操作表

3.1表的创建

3.1.1 创建表:

#语法:

#(注意!这里省略了建表时的容错处理)

create table 表名(
列名 列类型 【约束】,
列名 列类型 【约束】,
……
);

#示例:创建一个stu表
create table stu(
sid char(6),
sname varchar(20),
age int,
gender varchar(10)
);

3.1.2 复制表

#语法
#(注意!这里省略了建表时的容错处理)
#复制结构
create table table2 like table1

#复制结构+数据
create table table2 select * from table1

#复制部分数据
create table table2 select (cloumn,......) from table1 where XXXXX

#复制部分结构
create table table2 select (cloumn,......) from table1 where +始终为 false 的条件

3.2表的修改

3.2.1修改表名:

#语法
alter table 表名 rename to 新表名 ;

#示例:将stu表的表名改为students
alter table stu rename to students ;

3.2.2修改表的字符集:

#语法
alter table 表名 character set 字符集名称;

#与上文中修改数据库编码类似,这里省略讲解

3.2.3添加新列:

#语法
alter table 表名 add 列名 类型【(宽度)】 约束 ;

#示例:给stu表添加classname列
alter table stu add classname varchar(100) ;

3.2.4修改列数据类型:

#语法
alter table 表名 modify 列名 新数据类型;

#示例:修改stu表的gender列类型为char(2)
alter table stu modify gender char(2);

3.2.5修改列名+数据类型:

#语法:
alter table 表名 change 原列名 新列名 新数据类型;

#示例:修改stu表的gender列名为sex
alter table stu change gender sex char(2);

3.2.6删除列:

#语法
alter table 表名 drop 列名;

#示例:删除stu表的classname列
alter table stu drop classname;

3.3表的删除

#语法:
drop table 表名;

#容错处理:
drop table  if exists 表名;

你可能感兴趣的:(MySQL数据库,mysql,数据库,database)