MySQL实战必备文章。DDL常用命令汇总及登录数据库相关命令!

Posted 孟挽周

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL实战必备文章。DDL常用命令汇总及登录数据库相关命令!相关的知识,希望对你有一定的参考价值。


介绍

  • DDL(Data Definition Languages)语句:即数据库定义语句

对于数据库而言实际上每一张表都表示是一个数据库的对象,而数据库对象指的就是DDL定义的所有操作,例如:表,视图,索引,序列,约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法

  1. 创建对象:CREATE 对象名称;
  2. 删除对象:DROP 对象名称;
  3. 修改对象:ALTER 对象名称;

DDL 命令

  • 数据库的安装相关操作再此就不在为大家演示了,直接进入正题!

数据库相关操作

一. 创建数据库

  • 语法:create database 数据库名字;
mysql> create database sqltest;
  • 结果:

二. 查看已经存在的数据库

  • 语法:show databases;
mysql> show databases;
  • 结果:

可以发现,在上面的列表中除了刚刚创建的 mzc-test,sqltest,外,还有另外 4 个数据库,它们都是安装MySQL 时系统自动创建的,其各自功能如下。

  1. information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信息、权限信息、字符集信息、分区信息等。
  2. cluster:存储了系统的集群信息。
  3. mysql:存储了系统的用户权限信息。
  4. test:系统自动创建的测试数据库,任何用户都可以使用。

三. 选择数据库

  • 语法:use 数据库名;
mysql> use mzc-test;
  • 返回Database changed代表我们已经选择 sqltest 数据库,后续所有操作将在 sqltest 数据库上执行。
  • 有些人可能会问到,连接以后怎么退出。其实,不用退出来,use 数据库后,使用show databases就能查询所有数据库,如果想跳到其他数据库,用use 其他数据库名字。

四. 查看数据库中的表

  • 语法:show tables;
mysql> show tables;
  • 结果:

五. 删除数据库

  • 语法:drop database 数据库名称;
mysql> drop database mzc-test;
  • 结果:
  • 注意:删除时,最好用 `` 符号把表明括起来

数据库表相关操作

一. 创建表

语法:create table 表名 {列名,数据类型,约束条件};

CREATE TABLE `Student`(
	`s_id` VARCHAR(20),
	`s_name` VARCHAR(20) NOT NULL DEFAULT '',
	`s_birth` VARCHAR(20) NOT NULL DEFAULT '',
	`s_sex` VARCHAR(10) NOT NULL DEFAULT '',
	PRIMARY KEY(`s_id`)
);
  • 结果

注意:表名还请遵守数据库的命名规则,这条数据后面要进行删除,所以首字母为大写。

二. 查看表定义

  • 语法:desc 表名
mysql> desc Student;
  • 结果:
  • 虽然 desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定义信息,有时就需要通过查看创建表的 SQL 语句来得到,可以使用如下命令实现
  • 语法:show create table 表名 \\G;
mysql> show create table Student \\G;
  • 结果:
  • 从上面表的创建 SQL 语句中,除了可以看到表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。\\G选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。

三. 删除表

  • 语法:drop table 表名
mysql> drop table Student;
  • 结果:

四. 修改表 (重要)

  • 对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表。这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载。而且,如果有服务在访问表,也会对服务产生影响。因此,在大多数情况下,表结构的更改一般都使用 alter table语句,以下是一些常用的命令。

1. 修改表类型

  • 语法:ALTER TABLE 表名 MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
  • 例如,修改表 student 的 s_name 字段定义,将 varchar(20)改为 varchar(30)
mysql> alter table Student modify s_name varchar(30);
  • 结果:

2. 增加表字段

  • 语法:ALTER TABLE 表名 ADD [COLUMN] [FIRST | AFTER col_name];
  • 例如,表 student 上新增加字段 s_test,类型为 int(3)
mysql> alter table student add column s_test int(3);
  • 结果:

3. 删除表字段

  • 语法:ALTER TABLE 表名 DROP [COLUMN] col_name
  • 例如,将字段 s_test 删除掉
mysql> alter table Student drop column s_test;
  • 结果:

4. 字段改名

  • 语法:ALTER TABLE 表名 CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]
  • 例如,将 s_sex 改名为 s_sex1,同时修改字段类型为 int(4)
mysql> alter table Student change s_sex s_sex1 int(4);
  • 结果:

注意:change 和 modify 都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便。但是 change 的优点是可以修改列名称,modify 则不能。

5. 修改字段排列顺序

  • 前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置,默认 ADD 增加的新字段是加在表的最后位置,而 CHANGE/MODIFY 默认都不会改变字段的位置。

  • 例如,将新增的字段 s_test 加在 s_id 之后

  • 语法:alter table 表名 add 列名 数据类型 after 列名;

mysql> alter table Student add s_test date after s_id;
  • 结果:
  • 修改已有字段 s_name,将它放在最前面
mysql> alter table Student modify s_name varchar(30) default '' first;
  • 结果:

注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于 MySQL 在标准 SQL 上的扩展,在其他数据库上不一定适用。

6.表名修改

  • 语法:ALTER TABLE 表名 RENAME [TO] new_tablename
  • 例如,将表 Student 改名为 student
mysql> alter table Student rename student;
  • 结果:

其他不常用命令

  • 剩下的命令在这就不一一演示了,大家下去可以自行测试。
语法作用
create view view_name as select id fROMtb_name;定义视图
alter table tb_name add columntexttext [first/after 已存在的列名 ];添加一个text列
later table tb_name change 旧列名 新列名 数据类型;修改表的一个列的列名
alter table tb_name modify 列名 新数据类型;修改某列的数据类型
alter table tb_name rename 新表名;修改表的名字
alter table tb_name engine=innoDB/MyISAM…修改表的存储引擎
alter table tb_name add index idx_name on tb_name(id);创建普通索引索引idx_name基于id列
alter table add unique(name);创建唯一索引name
alter table add primary key(列名)添加主键索引
alter table tb_name drop 列名;删除表的某列
drop index index_name on tb_name;删除表的某个索引
show index from tb_name;查看表的索引

登录数据库相关命令

一. 启动服务

语法:

mysql> net stop mysql

二. 关闭服务

语法:

mysql> net start mysql

三. 链接MySQL

  • 语法:mysql -u用户名 -p密码;
root@243ecf24bd0a:/ mysql -uroot -p123456;
  • 在以上命令行中,mysql 代表客户端命令,-u 后面跟连接的数据库用户,-p 表示需要输入密码。如果数据库设置正常,并输入正确的密码,将看到上面一段欢迎界面和一个 mysql>提示符。

四. 退出数据库

  • 语法:quit
mysql> quit
  • 结果:

小主们,看完别忘记给博主点个赞。

以上是关于MySQL实战必备文章。DDL常用命令汇总及登录数据库相关命令!的主要内容,如果未能解决你的问题,请参考以下文章

linux必备常用重要命令汇总

MySQL中常用DDL汇总

运维工程师 必备的150个命令汇总

MySQL常用命令汇总及用法

Linux企业运维人员必备150个命令汇总

测试人员必备之 mysql 常用命令学习指南