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数据库常用的命令,包括数据库操作、表操作和数据操作三部分。 数据库操作 1...
以下是关于MySQL常用命令的一些详细解释: 1. **连接MySQL**: - 使用`mysql -u<username> -p`命令可以连接到本地MySQL服务器,其中`<username>`是你的用户名。如果你的密码为空,直接按回车即可。例如,`mysql -u...
### MySQL常用命令详解 在IT领域,MySQL作为一款广泛使用的开源关系型数据库管理系统,其重要性不言而喻。无论是初学者还是资深开发者,掌握MySQL的常用命令都是必不可少的技能。以下将对“MYSQL常用命令教程”中的...
MySQL入门常用操作命令收集,集合的mysql中常用的命令操作方法
根据提供的标题、描述以及部分内容,本文将详细解析MySQL数据库中的常用命令,并且涵盖数据库的创建、管理、查询、更新等核心操作。 ### MySQL 常用命令概览 #### 启动与停止 MySQL 服务 - **启动 MySQL 服务**: ...
以上就是MySQL数据库常用的一些命令,通过这些基本操作,你可以对数据库进行连接、管理、授权以及数据操作。在实际工作中,根据具体需求,还可以学习更多高级特性和复杂查询,以更有效地管理MySQL数据库。
以下是一些关于操作MySQL数据库的常用命令的详细说明: 1. **连接MySQL**:使用`mysql -u 用户名 -p`命令可以连接到MySQL服务器,其中`-u`指定用户名,`-p`会提示输入密码。例如,连接名为root的用户,命令是`mysql...
mysql常用操作命令 mysql是一个流行的关系数据库管理系统,作为开发人员,掌握mysql的常用操作命令是非常必要的。本文将对mysql的常用操作命令进行总结,包括连接mysql、查询版本信息、查询当前日期、查询服务器中...
MySQL常用命令集锦--初级DBA MySQL是当前最流行的开源关系数据库管理系统,本文将总结一些常用的MySQL命令,适合初级DBA学习和工作。 一、MySQL服务的启动和停止 MySQL服务的启动和停止命令如下: * ...
### MySQL常用命令总结 本文将基于提供的部分内容对MySQL的基本操作命令进行详细解析,这些命令涵盖了数据库及表的基本管理,如创建、查询、更新等。掌握这些命令有助于更好地管理和操作MySQL数据库。 #### 一、...
在操作MySQL时,还有一些实用技巧: - 分号用于表示命令结束,如果忘记,可以补打分号。 - 使用光标上下键可以浏览历史命令,避免重复输入。 以上内容仅是MySQL命令的简要介绍,实际操作中还有许多其他高级功能和...
### MySQL的常用操作指令知识点详解 #### 一、MySQL简介及基本概念 - **数据库(Database)**:存储数据的仓库。 - **数据库管理系统(DBMS)**:用于创建和管理数据库的应用软件,如MySQL、Oracle等。 - **关系型...
这份PDF文档很可能是关于MySQL5.0版本中常用数据库管理命令的集合,对于数据库管理员和开发人员来说是非常实用的学习资源。以下是根据标题和描述可能包含的一些关键知识点: 1. **安装与启动**: - `mysql_install...
本文将深入探讨MySQL的中文手册以及常用命令,帮助初学者和经验丰富的开发者更好地理解和操作MySQL。 首先,"MySQL中文手册.chm"是MySQL的中文版官方文档,它包含了MySQL的所有特性和功能的详细解释,是学习和查询...
在本资源中,我们将总结一些常用的 MySQL 命令,涵盖数据库创建、用户管理、数据备份和恢复、查询执行等方面。 一、数据库管理 * 创建数据库:`create database name;` * 选择数据库:`use databasename;` * 删除...
对于数据库管理员(DBA)来说,掌握MySQL的一些常用命令是必须的。本文将对MySQL DBA常用命令进行总结,以便于DBA快速有效地执行数据库的管理工作。 首先,数据库的导出和导入是DBA工作中经常会遇到的任务。可以...
以上就是 MySQL 数据库中的一些常用命令和操作。这些命令可以帮助开发者有效地管理数据库,包括创建、查询、更新和删除等基本操作,以及更复杂的权限管理和数据备份与恢复等功能。掌握这些命令对于熟练使用 MySQL ...