MySQL基础

DDL

全称:数据库定义语言(Data Definition Language)。

定义了数据段、数据库、表、字段、索引等数据对象,主要操作有 CREATEDROPALTER

创建一个数据库

关于 collation 有一篇文章《MySQL中character set与collation的点滴理解》,写的还是蛮好的,就是有些错别字。

CREATE DATABASE `test_db` CHARACTER SET utf8 COLLATE utf8_unicode_ci;

删除一个数据库

DROP DATABASE `test_db`;

重命名数据库

嗯,这没有直接的命令来做这件事,在网上找了一篇文章《MySQL中数据库重命名》,里面介绍了三种重命名的方法。个人觉得应该靠谱,没有尝试。

查看数据库列表

SHOW DATABASES;

使用一个数据库

USE DATABASE;

创建一张表

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL DEFAULT '',
  `year` int(11) unsigned NOT NULL DEFAULT '0',
  `month` int(11) unsigned NOT NULL DEFAULT '1',
  `day` int(11) unsigned NOT NULL DEFAULT '1',
  `sex` enum('male','female') NOT NULL DEFAULT 'male',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

查看表的创建语句

# 以表格的形式展现
SHOW CREATE TABLE `users`;
# 以行的形式展现
SHOW CREATE TABLE `users` \G;

删除一张表

DROP TABLE `users`;

重命名表

单张表的重命名:

ALTER TABLE `users` RENAME `user`;
RENAME `users` TO `user`;

也可以批量重命名表:

RENAME `users` TO `user`, `grades` TO `grade`;

添加字段

ALTER TABLE `users` ADD COLUMN `grade` tinyint(8) unsigned NOT NULL DEFAULT '1';

删除字段

ALTER TABLE `users` DROP COLUMN `grade`;

修改字段属性

ALTER TABLE `users` MODIFY COLUMN `month` tinyint(8) unsigned NOT NULL DEFAULT '1';

修改字段名

ALTER TABLE `users` CHANGE COLUMN `name` `nickname` varchar(10) NOT NULL DEFAULT '';

字段排序

ALTER TABLE `users` MODIFY COLUMN `sex` enum('male','female') NOT NULL DEFAULT 'male' FIRST;
ALTER TABLE `users` MODIFY COLUMN `sex` enum('male','female') NOT NULL DEFAULT 'male' AFTER `name`;

你可能感兴趣的:(MySQL基础)