MySQL系列文章

MySQL日志——查询、慢查询、错误、二进制MySQL用户与权限——创建、赋予、撤销、删除MySQL密码修改MySQL索引


目录

  • MySQL系列文章
  • 前言
  • 使用数据库
  • 创建与删除数据库
  • 创建数据表


前言

作为一个在计算机领域的学者,就必须得了解数据库,而了解数据库就从关系型数据库开始,而说到关系型数据库,MySQL在这些年中,是开源关系型数据库的不二选择。

使用数据库

创建与删除数据库

创建数据库CREATE DATABASE database_name; #存在就报错CREATE DATABASE IF NOT EXISTS database_name; #不存在就创建,存在不会报错

注:SHOW DATABASES;查看当前存在的数据库。

例:

mysql实例 支持多少库 mysql 实例 数据库_表名


切换数据库USE database_name;

命令行所在数据库SHOW DATABASE();

查看数据库创建信息SHOW CREATE DATABASE database_name;SHOW CREATE DATABASE database_name \G

例:

mysql实例 支持多少库 mysql 实例 数据库_mysql实例 支持多少库_02


修改数据库名称

重命名表修改:RENAME TABLE test_old.table TO test_new.table;

注:将test_old数据库的表重命名到test_new数据库,删除test_old数据库。

例:

mysql实例 支持多少库 mysql 实例 数据库_mysql_03


导入/导出数据修改:mysqldump -uroot -p test_old > test_old.sql #导出

mysql实例 支持多少库 mysql 实例 数据库_数据库_04


source /root/test_old.sql; #导入

mysql实例 支持多少库 mysql 实例 数据库_mysql实例 支持多少库_05

mysql实例 支持多少库 mysql 实例 数据库_字段_06


创建数据表修改: CREATE TABLE IF NOT EXISTS test_new.t1 LIKE test_old.t1;

mysql实例 支持多少库 mysql 实例 数据库_mysql_07


注:test_new数据库存在。

删除数据库DROP DATABASE [IF EXISTS] database_name;

mysql实例 支持多少库 mysql 实例 数据库_数据库_08

创建数据表

语法格式

CREATE TABLE [IF NOT EXISTS] 表名(字段1, 数据类型 [约束条件] [默认值],

字段2, 数据类型 [约束条件] [默认值],

字段3, 数据类型 [约束条件] [默认值],

……

[表约束条件]

);

例:

mysql实例 支持多少库 mysql 实例 数据库_mysql实例 支持多少库_09


约束——主键PRIMARY KEY [默认值]定义列的同时指定主键

PRIMARY KEY (字段名)定义完数据表中的所有列之后指定主键

PRIMARY KEY (字段1, 字段2, 字段3…., 字段n)多列联合主键。

mysql实例 支持多少库 mysql 实例 数据库_mysql_10


注:主键包含表的一列或多列,能够唯一标识表的一行记录。

约束——外键CONSTRAINT 外键名 FOREIGN KEY 字段1 [, 字段2, 字段3, …] REFERENCES 主表名 主键列1 [, 主键列2, 主键列3, …]

注:同一表外键名称唯一,可存在多个外键,可多字段,可多主键字段。

mysql实例 支持多少库 mysql 实例 数据库_mysql_11


约束——非空字段名称 数据类型NOT NULL定义列的同时指定非空。

约束——默认值字段名称 数据类型DEFAULT 默认值定义列的同时指定默认值。

约束——主键默认递增字段名称 数据类型AUTO_INCREMENT定义列的同时指定主键默认递增,需为主键。

查看数据表结构DESCRIBE 表名称DESC 表名称SHOW CREATE TABLE 表名 \G

mysql实例 支持多少库 mysql 实例 数据库_表名_12


修改数据表名称ALTER TABLE 原表名 RENAME [TO] 新表名;

mysql实例 支持多少库 mysql 实例 数据库_表名_13


添加字段ALTER TABLE 表名 ADD COLUMN 新字段名 数据类型 [NOT NULL DEFAULT 默认值];

mysql实例 支持多少库 mysql 实例 数据库_表名_14


注:指定位置,添加字段语句后加FIRSTAFTER 原有字段名

修改字段名称ALTER TABLE 表名 CHANGE 原有字段名 新字段名 新数据类型

mysql实例 支持多少库 mysql 实例 数据库_字段_15


修改字段类型ALTER TABLE 表名 MODIFY 字段名 新数据类型 [DEFAULT 默认值]

mysql实例 支持多少库 mysql 实例 数据库_字段_16


修改字段的位置ALTER TABLE 表名 MIDIFY 字段名 数据类型 FIRST

mysql实例 支持多少库 mysql 实例 数据库_表名_17


删除字段ALTER TABLE 表名 DROP 字段名

mysql实例 支持多少库 mysql 实例 数据库_mysql实例 支持多少库_18


删除外键约束ALTER TABLE 表名 DROP FOREIGN KEY 外键名

mysql实例 支持多少库 mysql 实例 数据库_mysql_19


删除表DROP TABLE [IF EXISTS] 数据表1 [, 数据表2, …, 数据表n];

mysql实例 支持多少库 mysql 实例 数据库_表名_20


注:删除有外键约束的主表,需先解除外键或先删除从表,在删主表。

注:Window表名不分大小写,Liunx需配置/etc/my.cnf,添加lower_case_table_names=1