博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql学习总结(一)基础内容
阅读量:2051 次
发布时间:2019-04-28

本文共 3631 字,大约阅读时间需要 12 分钟。

启动,关闭

启动MySQL

Windows

net start mysql

Linux

  • 使用linux命令service 启动:
    service mysqld start
  • 使用 mysqld 脚本启动:
    /etc/inint.d/mysqld start
  • 使用 safe_mysqld 启动:
    safe_mysqld&

停止

  • 使用 service 启动的:
    service mysqld stop
  • 使用 mysqld 脚本启动的:
    /etc/inint.d/mysqld stop
    mysqladmin shutdown

重启

1、使用 service 启动:

service mysqld restart
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld restart

备注:查看mysql端口是否已经使用,使用netstat -anp 命令查看服务器端口使用情况。

  1. 注意理解mysqldmysqlmysqldmysql服务器或者称之为服务器上的实例,用于提供客户端访问。mysql为客户端访问管理工具。
  2. 可以通过三种方式启动mysql服务器(mysqld,mysqld_safe,service mysql start)
  3. 对于mysqld_safe,service mysql start方式,总是通过调用mysqld_safe来启动mysqld进程,以防止mysqld意外宕掉而提供重启服务。
  4. 可以通过mysqladmin shutdown以及service mysql stop来终止mysql服务器

连接

mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABLES -- 显示系统变量信息

数据库操作

查看当前数据库

select database()

显示当前时间、用户名、数据库版本

select now() ,user() ,version()

创建库

create database [if not exists] 数据库名字 数据库选项

数据库选项:

character set charset_name           collate collation_name

查看已有库

SHOW DATABASES[ LIKE 'PATTERN']

查看当前库信息

SHOW CREATE DATABASE 数据库名

修改库的选项信息

ALTER DATABASE  库名 选项信息

删除库

DROP DATABASE [ IF EXISTS]   数据库名         同时删除该数据库相关的目录及其目录内容

表操作

创建表

CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [库名.]表名 ( 表的结构定义 )[ 表选项]   每个字段必须有数据类型   最后一个字段后不能有逗号   TEMPORARY 临时表,会话结束时表自动消失   对于字段的定义:        字段名 数据类型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT

表选项

CHARSET = charset_name

如果表没有设定,则使用数据库字符集

存储引擎

ENGINE = engine_name

表在管理数据时采用的不同的数据结构,结构不同会导致处理方式、提供的特性操作等不同

常见的引擎:

  • InnoDB
    表的结构存储在xxx.frm 文件中
    数据存储在tablespace这样的表空间中(逻辑概念),无法被压缩,无法转换成只读。这种innoDB引擎在mysql数据库崩溃后提供自动恢复机制。
    innoDB支持级联删除和级联更新
  • MyISAM
    这种引擎不支持事务。是mysql最常用的存储引擎,但是这种引擎不是被默认的。
    MyISAM采用三个文件组织一张表:
    xxx.frm(存储格式的文件)
    xxx.MYD(存储表中数据的文件)
    xxx.MYI(存储表中的索引的文件)
    优点:可被压缩,节省存储空间。并且可以转换为只读表,提高检索效率
    缺点:不支持事务。
  • Memory/Heap
    缺点:不支持事务,数据容易丢失。因为所有的数据和索引都存储在内存当中
    优点:查询速度最快
  • BDB
  • Merge
  • Example
  • CSV
  • MaxDB
  • Archive

不同的引擎在保存表的结构和数据时采用不同的方式

MyISAM表文件含义:

.frm表定义,.MYD表数据,.MYI表索引

InnoDB表文件含义:

.frm表定义,表空间数据和日志文件

SHOW ENGINES – 显示存储引擎的状态信息

SHOW ENGINE 引擎名 {LOGS|STATUS} – 显示存储引擎的日志或状态信息

自增起始数

AUTO_INCREMENT = 行数

数据文件目录

DATA DIRECTORY = '目录'

索引文件目录

INDEX DIRECTORY = '目录'

表注释

COMMENT = 'string'

分区选项

PARTITION BY ... (详细见手册)

查看所有表

SHOW TABLES [ LIKE 'pattern' ] SHOW TABLES FROM 表名

修改表

修改表本身的选项

ALTER TABLE 表名 表的选项eg: ALTER TABLE 表名 ENGINE=MYISAM;

对表进行重命名

RENAME TABLE 原表名 TO 新表名RENAME TABLE 原表名 TO 库名.表名 (可将表移动到另一个数据库)-- RENAME可以交换两个表名

修改表的字段结构

ALTER TABLE 表名 操作名

操作名
ADD[ COLUMN] 字段定义             -- 增加字段   AFTER 字段名                            -- 表示增加在该字段名后面   FIRST                                         -- 表示增加在第一个ADD PRIMARY KEY(字段名)        -- 创建主键ADD UNIQUE [索引名] (字段名)    -- 创建唯一索引 ADD INDEX [索引名] (字段名)       -- 创建普通索引DROP [COLUMN] 字段名              -- 删除字段MODIFY [COLUMN] 字段名 字段属性     -- 支持对字段属性进行修改,不能修改字段名(所有原有属性也需写上)CHANGE [COLUMN] 原字段名 新字段名 字段属性      -- 支持对字段名修改DROP PRIMARY KEY    -- 删除主键(删除主键前需删除其AUTO_INCREMENT属性)DROP INDEX 索引名     -- 删除索引DROP FOREIGN KEY 外键    -- 删除外键

删除表

DROP TABLE[ IF EXISTS] 表名 ...

清空表数据

TRUNCATE [TABLE] 表名

复制表结构

CREATE TABLE 表名 LIKE 要复制的表名

复制表结构和数据

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

检查表是否有错误

CHECK TABLE tbl_name [, tbl_name] ... [option] ..

表优化

·OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

修复表

REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

分析表

ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

导入导出数据

命令窗口执行(以dos为例)

--导出整个库(库名字:dbname  用户:root 密码admin)mysqldump dbname >D:\dbname.sql -uroot -padmin--导出dbname库中的table1表mysqldump dbname >D:\dbname.sql -uroot -padmin
--导入数据create database dbname;use dbname;source D:\dbname.sql

转载地址:http://pewlf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
Leetcode C++《热题 Hot 100-30》31.下一个排列
查看>>
Leetcode C++《热题 Hot 100-40》64.最小路径和
查看>>
Leetcode C++《热题 Hot 100-41》75.颜色分类
查看>>
Leetcode C++《热题 Hot 100-42》78.子集
查看>>
Leetcode C++《热题 Hot 100-43》94.二叉树的中序遍历
查看>>
Leetcode C++ 《第175场周赛-1 》5332.检查整数及其两倍数是否存在
查看>>
Leetcode C++ 《第175场周赛-2 》5333.制造字母异位词的最小步骤数
查看>>
Leetcode C++ 《第175场周赛-3》1348. 推文计数
查看>>
Leetcode C++《热题 Hot 100-44》102.二叉树的层次遍历
查看>>
Leetcode C++《热题 Hot 100-45》338.比特位计数
查看>>
读书摘要系列之《kubernetes权威指南·第四版》第一章:kubernetes入门
查看>>
Leetcode C++《热题 Hot 100-46》739.每日温度
查看>>
Leetcode C++《热题 Hot 100-47》236.二叉树的最近公共祖先
查看>>
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>
《kubernetes权威指南·第四版》第二章:kubernetes安装配置指南
查看>>
Leetcode C++《热题 Hot 100-49》399.除法求值
查看>>
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
[Kick Start 2020] Round A 1.Allocation
查看>>