mysql表结构中文解释_SQL-Mysql表结构操作

一 前言

本篇内容是关于 基本的数据库操作,建表,表结构修改等内容;

学习本篇的基础是知识追寻者以前发布的文章:

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 SQL 分类操作

2.1 SQL 分类

sql 对数据库的操作分为如下三种类型,如果都学会这三种SQL语言熟练对数据库操作,说明你已经对数据库登堂入室,如果再学会数据库高级操作,说明你对数据库就有一定的使用经验,如果你还学会对数据库进行优化,分表分库,读写分离等操作,说明你使用数据库已经到专家级别;

DDL:数据定义语言(Data Define Language),即定义数据的结构。比如:create,drop,alter操作

DML:数据管理语言(Data Manage Language),即增删改查。比如:insert,delete,update,select。这个也在之前的文章详细写过,不再提及;

DCL:数据控制语言(Data Control Language),对权限、事务等的控制。比如:grant(授权)revoke(取回权限),commit,roolback等; 事物在上篇已经说明,不会在本篇提及;

2.2 数据库基操

数据库的基本操作如下,也就是我们日常使用的操作

连接数据库: mysql -h 地址 -P 端口 -u 用户名 -p 密码; mysql -h 192.168.0.127 -P 3306 -u root -p root

复制代码

查看当前数据库: SELECT DATABASE();

复制代码

显示用户活动线程: SHOW PROCESSLIST;

复制代码

显示系统变量: SHOW VARIABLES;

复制代码

显示当前时间,用户,数据库版本号 SELECT now(), user(), version();

复制代码

创建数据库:CREATE DATABASE[ IF NOT EXISTS] 数据库名 [数据库选项] 数据库选项:

CHARACTER SET 字符集名称

COLLATE 排序规则名称

示例:create database zszxz;

复制代码

删除数据库: DROP DATABASE [ IF EXISTS] 数据库名; drop database zszxz;

复制代码

2.3 建表语句

数据库表的日常操作如下

CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [库名.]表名 ( 表的结构定义 ) [ 表选项]

复制代码

其中 TEMPORARY 表示临时表;中括号内容都表示可选,在正规的数据库版本管理开发会经常使用到;

字段的修饰如下 数据类型

非空|空约束:[NOT NULL | NULL]

默认值:[DEFAULT default_value]

自动增长:[AUTO_INCREMENT]

唯一键|主键:[UNIQUE [KEY] | [PRIMARY] KEY]

备注:[COMMENT 'string']

表选项一般就是指定数据库引擎和字符集:

ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='顾客表';

复制代码

示例

CREATE TABLE IF NOT EXISTS `customer` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',

`customer_name` varchar(255) DEFAULT NULL COMMENT '顾客名称',

`gender` varchar(255) DEFAULT NULL COMMENT '性别',

`telephone` varchar(255) DEFAULT NULL COMMENT '电话号码',

`register_time` timestamp NULL DEFAULT NULL COMMENT '注册时间',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='顾客表';

复制代码

2.4 修改表结构

查看所有表

SHOW TABLES

复制代码

查看指定数据库的表

SHOW TABLES FROM 数据库名称;

示例:SHOW TABLES FROM zszxz;

复制代码

删除表

DROP TABLE[ IF EXISTS] 表名;

示例: drop table op;

复制代码

清空表(清除数据)

TRUNCATE [TABLE] 表名

复制代码

复制表结构

CREATE TABLE 表名 LIKE 要复制的表名;

示例: create table op like `order`;

复制代码

复制表结构和数据

CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名;

示例: CREATE TABLE op AS SELECT * FROM `order`;

复制代码

常见的alter操作如下:

增加一列(追加至末尾)

alter table [数据库名.]表名 add [column] 字段 数据类型;

示例: alter table `order` add column `year` year ;

复制代码

增加到第一列

alter table [数据库名.]表名 add [column] 字段 数据类型 first;

复制代码

增加一列到指定字段名后

alter table [数据库名.]表名 add [column] 字段 数据类型 after 另一个字段;

复制代码

修改字段名的 数据类型

alter table [数据库名.]表名称 modify [column] 字段名 新的数据类型;

示例: altert table `order` modify column `gender` tinyint;

复制代码

修改表字段的数据类型,并且移动至第一列

alter table [数据库名.]表名称 modify [column] 字段名 数据类型 first;

复制代码

修改表字段的数据类型,并且移动至指定字段后面

alter table [数据库名.]表名称 modify [column] 字段名 数据类型 after 另一个字段名;

复制代码

修改表字段的名称

alter table [数据库名.]表名称 change [column] 旧字段名 新的字段名 数据类型;

复制代码

添加主键

alter table [数据库名.]表名称 ADD PRIMARY KEY(字段名);

示例: altert table `order` add primary key(`id`)

复制代码

添加唯一键

alter table [数据库名.]表名称 ADD UNIQUE [索引名] (字段名)

复制代码

添加索引

alter table [数据库名.]表名称 ADD INDEX [索引名] (字段名)

复制代码

删除一列

alter table [数据库名.]表名称 drop [column] 字段名;

示例:altert table `order` drop column `gender`;

复制代码

删除索引

alter table [数据库名.]表名称 DROP INDEX 索引名

复制代码

删除主键

alter table [数据库名.]表名称 DROP PRIMARY KEY

复制代码

删除外键

alter table [数据库名.]表名称 DROP FOREIGN KEY 外键

复制代码

关注知识追寻者:

本文同步分享在 博客“知识追寻者”(JueJin)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值