前言
对数据库进行管理操作一般有两种方式:一是使用mysql指令,二是借助可视化工具直接进行操作。
下面介绍了如何利用MySql语句来MySql数据库进行管理
目录
一、创建数据库——CREATE DATABASE
- 在MySQL命令行工具中可以直接输入和执行SQL语句。可 以使用CREATE DATABASE语句创建数据库,它的基本语法结构如下:
CREATE DATABASE [IF NOT EXISTS] 数据库名 [CHARACTER SET UTF-8 COLLATE utf-8 _general_ci]
说明:
1.如果使用IF NOT EXISTS关键字,则当指定的数据库名存在时,不创建数据库。如果不使用IF NOT EXISTS关键字, 当创建的数据库名存在时,将产生错误
2.CHARACTER SET UTF-8 COLLATE utf-8 _general_ci:这是对数据库的字符集的操作
- 例如:要创建数据库testdb,可以使用下面的语句。
CREATE DATABASE IF NOT EXISTS testdb;
如下图所示:
也可以在可视化工具(下图为Navicat)中直接进行创建:
结果:
下面的操作皆为命令行语句+Navicat展示
二、删除数据库——DROP DATABASE
DROP DATABASE语句的语法如下:
DROP DATABASE 数据库名 ;
可以在MySQL命令行工具中使用下面语句删除数据库testdb:
DROP DATABASE testdb;
三、创建表——CREATE TABLE
创建表需要了解约束条件和数据库中的基本类型
详见链接:MySql中建表时约束条件的总结
CREATE TABLE语句创建表,语法结构如下:
create table 表名(
字段名1 数据类型 [约束条件],
字段名2 数据类型 [约束条件],
[其他约束条件]
)其他选项(例如存储引擎、字符集等选项)
例如创建一张这样的表:
使用的的sql语句如图:
结果展示:
建表中要用到的关键字:
• PRIMARY KEY,指定字段为主键。
• AUTO_INCREMENT,指定字段为自动增加字段。
• INDEX,为字段创建索引。
• NOT NULL,字段值不允许为空。
• NULL,字段值可以为空。
• COMMENT,设置字段的注释信息。
• DEFAULT,设置字段的默认值。
四、复制表
复制一个表结构的实现方法有两种。:
1.create table 新表名 like 源表
在create table语句的末尾添加like子句,可以将源表的表结构复制到新表中,语法格式如即:
create table 新表名 like 源表
2.create table 新表名 select * from 源表
在create table语句的末尾添加一个select语句, 可以实现表结构的复制,甚至可以将源表的表记录拷贝到新表中。下面的语法格式将源表的表结构以及源表的所有记录拷贝到新表中:
create table 新表名 select * from 源表
五、删除表 ——DROP
使用DROP TABLE语句删除表,语法如下:
DROP TABLE 表名
六、修改表—— ALTER
可以使用ALTER TABLE语句修改表的结构,包括添加列、修改列属性和删除列等操作:
1. 添加列
- 使用ALTER TABLE语句向表中添加列的基本语法如下:
ALTER TABLE 表名 ADD 列名 数据类型和长度 列属性 - 举例:
使用ALTER TABLE语句在表Emp中增加一列,列名为Tele, 数据类型为varchar,长度为50,列属性为允许空,具体语句如下:
ALTER TABLE Emp ADD Tele VARCHAR(50) NULL
2 .修改列
- 使用ALTER TABLE语句修改列属性的基本语法如下:
ALTER TABLE 表名 MODIFY 列名 新数据类型和长度 新列属性 - 举例:
使用ALTER TABLE语句在表Emp中修改Tele列的属性,将数据类型为CHAR,长度为50,列属性为允许空。具体语句如下:
ALTER TABLE Emp MODIFY Tele CHAR(50) NULL
3.删除列
- 使用ALTER TABLE语句删除列的基本语法如下:
ALTER TABLE 表名 DROP COLUMN 列名
举例:
使用ALTER TABLE语句在表Emp中删除Tele列。具体语句如 下:
ALTER TABLE Emp DROP COLUMN Tele
4. 修改表名
- 修改表名的语法格式较为简单,语法格式如下。
rename table旧表名to 新表名
该命令等效于:alter table 旧表名 rename 新表名 - 举例:
alter table person rename human;
5.修改表
- alter table 表名 engine=新的存储引擎类型
- alter table 表名 default charset=新的字符集
- alter table 表名 auto_increment=新的初始值
- alter table 表名 pack_keys=新的压缩类型
- 例如:
- alter table person engine=MyISAM;
- alter table person default charset=gb2312;
- alter table person auto_increment=8;
- alter table person pack_keys=1;
五、修改约束条件——alter
1.添加约束条件
- 向表的某个字段添加约束条件的语法格式如下(其中约束类型可以是唯一性约束、主键约束及外键约束):
alter table 表名 add constraint 约束名 约束类型 (字段名) - 举例:
alter table person add constraint name_unique unique (name)
2.删除约束条件
a.删除主键约束
删除表的主键约束条件语法格式比较简单,语法格式如下:
alter table 表名 drop primary key
b. 删除表的外键约束
删除表的外键约束时,需指定外键约束名称,语法格式如下 (注意需指定外键约束名):
alter table 表名 drop foreign key 约束名
c.删除表字段的唯一性约束
• 删除表字段的唯一性约束,实际上只需删除该字段的唯一性索引即可,语法格式如下(注意需指定唯一性索引的索引名):
alter table 表名 drop index 索引名;
例如: alter table person drop index name_unique;