`
zk_chs
  • 浏览: 214795 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

mysql一些常用指令

 
阅读更多

mysql的配置文件,在linux与osx中为my.cnf文件,其中mysql、client都是客户端的,mysqld表示下面的内容属于服务器端;windows中配置文件为my.ini,其它相同

 

设置编码方式为utf-8:

在client下添加default-character-set=utf8 

在mysqld下添加character-set-server=utf8 与 init_connect='SET NAMES utf8'

其他的一些参数请自行查找,暂且略过

 

因为在客户端执行sql语句时经常会出现一些错误代码,这时候可以使用perror xxx,来输出详细信息。

比如:

mysql> perror 1064;

 

从文本文件执行sql语句:

比如有一个文本文件,路径为~/sql.txt (或xxx.sql)

可以这样执行:

bash> mysql < ~/sql.txt

如果正在运行mysql,可以使用如下使用:

mysql> source ~/sql.txt
mysql> \. ~/sql.txt

 

查看数据库存储引擎:

mysql> show engines;

 MyISAM:不支持事务,该引擎的表存储为3个文件,其文件名称与表名相同,但后缀分别以 .myd、.myi、.frm结尾,其中,以.myd为后缀名的文件存储数据、以.myi为后缀名的文件存储索引、以.frm为后缀的文件存储表的结构;插入数据快,主要用于插入新记录和读出记录。

MEMORY:使用hash索引,所有数据存储在内存中,处理速度快但不安全,适合用于存储临时数据的临时表;这类数据库只适用于相对较小的数据库表。

InnoDB:提供了良好的事务管理、崩溃修复能力和并发控制、支持外键。缺点在于读写效率稍差、占用的数据空间相对较大;如果对事务的完整性要求较高,需要频繁的进行更新和删除操作,那么可以选择InnoDB,因为该存储引擎可以实现事务的提交和回滚。InnoDB为mysql默认存储引擎

 

创建数据库:

mysql> CREATE DATABASE IF NOT EXISTS newdb;

 查看数据库:

mysql> SHOW CREATE DATABASE newdb;

使用数据库:

mysql> USE newdb;

删除数据库:

mysql> DROP DATABASE IF EXISTS newdb;

 

创建数据库表:

mysql> CREATE TABLE newtable(field1 type restraint, field2 type restraint,...);

 查看表结构:

mysql> DESCRIBE newtable;
mysql> DESC newtable;

 查看表的详细结构:

mysql> SHOW CREATE TABLE newtable;

 添加表数据:

mysql> INSERT INTO newtable(field1,field2,...) 
                   VALUES(data1,data2,...),(data1,data2,...);

查看表数据:

mysql> SELECT * FROM newtable;

删除表数据:

mysql> DELETE FROM newtable; 没有WHERE进行控制则清空该表

修改表名:

mysql> ALTER TABLE newtable RENAME new_newtable;

字段类型修改:

mysql> ALTER TABLE <表名> MODIFY <字段名> <数据类型>;
mysql> ALTER TABLE new_newtable MODIFY field1 INT;

添加字段:

mysql> ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在字段名];
mysql> ALTER TABLE new_newtable ADD newfield INT FIRST;

字段位置修改:

mysql> ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;
mysql> ALTER TABLE new_newtable MODIFY newfield INT AFTER field1;

删除字段:

mysql> ALTER TABLE <表名> DROP <字段名>;
mysql> ALTER TABLE new_newtable DROP newfield;

删除表:

mysql> DROP TABLE new_newtable;

 

 

主键:

是表的标志列,在mysql中支持主键组的使用,主键对用户通常没有意义。

唯一地标志一行数据、作为一个可以被外键引用的有效对象。

创建表时添加主键:

mysql> CREATE TABLE table1(
id INT,
name VARCHAR(30),
tid INT,
PRIMARY KEY(id)
); 

无主键时添加主键的两种方式:

mysql> ALTER TABLE table1 ADD PRIMARY KEY(id);
mysql> ALTER TABLE table1 MODIFY id INT PRIMARY KEY;

删除主键、无须填写主键名称:

mysql> ALTER TABLE table1 DROP PRIMARY KEY; 

 

外键:

主键用于标志表中的数据,而外键用于表之间的联系。

所有的表必须是InnoDB类型、要建立外键的字段必须建立约束。

添加外键约束:

mysql> ALTER TABLE table1
ADD CONSTRAINT 外键名称 FOREIGN KEY(tid)
REFERENCES table2(id)
ON DELETE RESTRICT
ON UPDATE CASCADE;

外键所在的字段必须与关联的字段类型对应,

 

下面是几种关联操作类型:

CASCADE:外键表中外键字段会跟随父表被更新,或所在的列会被删除。

NO ACTION:不进行任何关联操作。

RESTRICT:相当于NO ACTION,即不进行任何操作。拒绝父表修改外键关联列,删除记录。

SET NULL:在父表的外键关联字段被修改或删除时,外键表的外键被设置为空NULL。

 

外键与主键均可使用SHOW来查看:

mysql> SHOW CREATE TABLE table1; 

删除外键:

mysql> ALTER TABLE table1 DROP FOREIGN KEY 外键名;

一个表中的外键可能不止一个,上述语句可以删除指定的一个外键,删除多个外键可重复上述语句。

 

为字段添加默认值:

mysql> ALTER TABLE 表名称 ALTER 字段名称 SET DEFAULT 默认值数据;
mysql> ALTER TABLE table1 ALTER name SET DEFAULT '表1';

删除默认值:

mysql> ALTER TABLE 表名称 ALTER 字段名称 DROP DEFAULT;

 

唯一性约束:

可以保证一列或几列不出现重复值。

创建表时添加唯一性约束的两种方式:

mysql> CREATE TABLE table1(
id INT NOT NULL UNIQUE, // 1,声明字段时直接添加
name VARCHAR(30) NOT NULL, 
UNIQUE(name) // 2,在所有字段后定义
);

删除唯一性约束:

mysql> ALTER TABLE table MODIFY name VARCHAR(30) NOT NULL;

添加唯一性约束:

mysql> ALTER TABLE 表名 ADD UNIQUE(字段列表);
mysql> ALTER TABLE table1 ADD UNIQUE(name);

 

自增约束:

mysql表中只能由一个AUTO_INCREMENT字段,

自增字段必须被定义为键,如外键、主键。

创建表时添加自增约束:

mysql> CREATE TABLE table1(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(30)
);

在表中直接添加、其中id为主键:

mysql> ALTER TABLE table2 MODIFY id INT NOT NULL AUTO_INCREMENT; 

 删除自增约束:

mysql> ALTER TABLE table2 MODIFY id INT NOT NULL;

 自增约束的删除,并不影响其主见设置。

 

删除指定名称的约束:

可通过SHOW CREATE TABLE来查看约束名称,

mysql> SHOW CREATE TABLE 表名;
mysql> ALTER TABLE 表名 DROP INDEX 约束名;

 

根据条件查询:

mysql> SELECT 查询字段 FROM table_name WHERE 条件表达式;

查询条件:

比较:=、<、<=、>、>=、!=、!>、!<、<>;

指定范围:BETWEEN AND、NOT BETWEEN AND;

指定集合:IN、NOT IN;

匹配字符:LIKE、NOT LIKE;

是否为空值:IS NULL、IS NOT NULL;

多个查询条件:AND、OR;

 

分组查询:

GROUP BY 字段名 [HAVING 条件表达式] [WITH ROLLUP]

两个可选的表达式,前者用来限制分组后的显示,满足条件表达式的结果将会被显示出来;后者将会在所有记录的最后加上一条,该记录时上面所有记录的总和。

可以指定多个字段进行分组,当第一个字段的值相同时,再把相等的记录按照第二个或之后的字段进行分组;

 

排序查询:

ORDER BY 字段名 [ASC | DESC]

ASC:升序、DESC:降序。

 

LIMIT限制查询数量:

LIMIT 初始位置, 查询数量

初始位置从0开始,可以不填,默认为0.

 

避免重复查询:

SELECT DISTINCT 字段名称

 

外链接查询:

mysql> SELECT 字段表 FROM 表1 LEFT|RIGHT JOIN 表2 ON 表1.字段=表2.字段;

 

正则表达式:

字段名 REGEXP '匹配方式'
mysql> SELECT * FROM table1 WHERE field1 REGEXP 'some';

REGEXP为regular expression的缩写。

 

更新数据:

mysql> UPDATE 表名 SET 字段1=值1, 字段2=值2,... WHERE 条件表达式;

 

删除数据:

mysql> DELETE FROM 表名 [WHERE 条件表达式];

 

用户自定义变量:

mysql> SET @user_variable1 = expression1, @user_variable2 = expression2,...;
mysql> SET @user1 = 1, @user2 = 2, @user3 = 3;

在SELECT中需要使用:=才行:

mysql> SELECT @t2 := 7;

 

一些系统变量:

CURRENT_DATE:系统日期

CURRENT_TIME:系统时间

CURRENT_TIMESTAMP:系统日期和时间

使用SHOW VARIABLES可以得到系统变量的所有会话变量清单:

mysql> SHOW VARIABLES;

系统变量可分为全局系统变量和会话系统变量。

 

IF语句、相当于三目运算符:

IF(条件,结果1,结果2)

条件成立返回结果1,否则返回结果2。

 

合并多个字符串:

CONCAT(str1,str2,str3,...)
CONCAT_WS(x,str1,str2,str3)

第二个全称为:CONCAT WITH SEPARATOR,使用指定的连接符号进行连接。

 

截取指定位置的字符串:

SUBSTRING(str,pos,len)

与java中不同,最后一个参数表示截取的长度,pos的取值从1开始

 

删除空格或指定字符:

TRIM([BOTH|LEADING|TRAILING] [remstr] FROM str)

 

ABS(X):返回X的绝对值

CEIL(X):向上取整

FLOOR(X):向下取整

ROUND(X):返回离X最近的整数

RAND()、RAND(X):返回一个范围在0到1之间的随机浮点值。如果已指定一个整数参数X,则它被用作种子值

 

 随机生成整数:

mysql> SELECT ROUND(RAND() * 1000);

 

 

分享到:
评论

相关推荐

    mysql一些常用命令

    ### MySQL常用命令详解 ...以上就是关于MySQL常用命令的一些详细介绍,这些命令可以帮助数据库管理员高效地完成日常维护工作,如备份、恢复、用户管理等。掌握这些命令对于使用MySQL数据库至关重要。

    mysql命令行常用命令

    MySQL 命令行常用命令是 MySQL 数据库管理员和开发者需要掌握的基本技能,本文将介绍 MySQL 命令行常用命令的六大招数,包括 MySQL 服务的启动和停止、登陆 MySQL、增加新用户、操作数据库、导出和导入数据、乱码...

    mysql数据库常用命令汇总

    MySQL数据库常用命令汇总 MySQL数据库是目前最流行的开源关系数据库管理系统,它提供了丰富的命令来管理和操作数据库。本文汇总了MySQL数据库常用的命令,包括数据库操作、表操作和数据操作三部分。 数据库操作 1...

    mySQL的一些常用命令

    以下是关于MySQL常用命令的一些详细解释: 1. **连接MySQL**: - 使用`mysql -u&lt;username&gt; -p`命令可以连接到本地MySQL服务器,其中`&lt;username&gt;`是你的用户名。如果你的密码为空,直接按回车即可。例如,`mysql -u...

    MYSQL常用命令教程

    ### MySQL常用命令详解 在IT领域,MySQL作为一款广泛使用的开源关系型数据库管理系统,其重要性不言而喻。无论是初学者还是资深开发者,掌握MySQL的常用命令都是必不可少的技能。以下将对“MYSQL常用命令教程”中的...

    MySQL入门常用操作命令收集.

    MySQL入门常用操作命令收集,集合的mysql中常用的命令操作方法

    MySql常用命令 最新 最全

    根据提供的标题、描述以及部分内容,本文将详细解析MySQL数据库中的常用命令,并且涵盖数据库的创建、管理、查询、更新等核心操作。 ### MySQL 常用命令概览 #### 启动与停止 MySQL 服务 - **启动 MySQL 服务**: ...

    Mysql与Oracle常用命令比较

    ### MySQL与Oracle常用命令比较详解 #### 一、概述 本文档旨在对比MySQL与Oracle数据库管理系统中的常用命令,为数据库管理员或开发人员提供一个清晰的参考指南。通过本指南,读者可以更好地理解这两种数据库系统...

    MySQL数据库常用命令大全.pdf

    以上就是MySQL数据库常用的一些命令,通过这些基本操作,你可以对数据库进行连接、管理、授权以及数据操作。在实际工作中,根据具体需求,还可以学习更多高级特性和复杂查询,以更有效地管理MySQL数据库。

    操作mysql数据库的常用命令总结

    以下是一些关于操作MySQL数据库的常用命令的详细说明: 1. **连接MySQL**:使用`mysql -u 用户名 -p`命令可以连接到MySQL服务器,其中`-u`指定用户名,`-p`会提示输入密码。例如,连接名为root的用户,命令是`mysql...

    mysql常用操作命令

    mysql常用操作命令 mysql是一个流行的关系数据库管理系统,作为开发人员,掌握mysql的常用操作命令是非常必要的。本文将对mysql的常用操作命令进行总结,包括连接mysql、查询版本信息、查询当前日期、查询服务器中...

    mysql常用命令集锦--初级DBA

    MySQL常用命令集锦--初级DBA MySQL是当前最流行的开源关系数据库管理系统,本文将总结一些常用的MySQL命令,适合初级DBA学习和工作。 一、MySQL服务的启动和停止 MySQL服务的启动和停止命令如下: * ...

    mysql常用命令总结

    ### MySQL常用命令总结 本文将基于提供的部分内容对MySQL的基本操作命令进行详细解析,这些命令涵盖了数据库及表的基本管理,如创建、查询、更新等。掌握这些命令有助于更好地管理和操作MySQL数据库。 #### 一、...

    MySQL常用命令查询集锦

    在操作MySQL时,还有一些实用技巧: - 分号用于表示命令结束,如果忘记,可以补打分号。 - 使用光标上下键可以浏览历史命令,避免重复输入。 以上内容仅是MySQL命令的简要介绍,实际操作中还有许多其他高级功能和...

    mysql的常用操作指令

    ### MySQL的常用操作指令知识点详解 #### 一、MySQL简介及基本概念 - **数据库(Database)**:存储数据的仓库。 - **数据库管理系统(DBMS)**:用于创建和管理数据库的应用软件,如MySQL、Oracle等。 - **关系型...

    MySQL5.0常用命令

    这份PDF文档很可能是关于MySQL5.0版本中常用数据库管理命令的集合,对于数据库管理员和开发人员来说是非常实用的学习资源。以下是根据标题和描述可能包含的一些关键知识点: 1. **安装与启动**: - `mysql_install...

    mysql中文手册及常用命令

    本文将深入探讨MySQL的中文手册以及常用命令,帮助初学者和经验丰富的开发者更好地理解和操作MySQL。 首先,"MySQL中文手册.chm"是MySQL的中文版官方文档,它包含了MySQL的所有特性和功能的详细解释,是学习和查询...

    MySQL常用命令 MySQL常用命令

    在本资源中,我们将总结一些常用的 MySQL 命令,涵盖数据库创建、用户管理、数据备份和恢复、查询执行等方面。 一、数据库管理 * 创建数据库:`create database name;` * 选择数据库:`use databasename;` * 删除...

    MySQL DBA常用命令大汇总

    对于数据库管理员(DBA)来说,掌握MySQL的一些常用命令是必须的。本文将对MySQL DBA常用命令进行总结,以便于DBA快速有效地执行数据库的管理工作。 首先,数据库的导出和导入是DBA工作中经常会遇到的任务。可以...

    mysql常用数据库命令

    以上就是 MySQL 数据库中的一些常用命令和操作。这些命令可以帮助开发者有效地管理数据库,包括创建、查询、更新和删除等基本操作,以及更复杂的权限管理和数据备份与恢复等功能。掌握这些命令对于熟练使用 MySQL ...

Global site tag (gtag.js) - Google Analytics