加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

MySQL 常用命令大全

发布时间:2022-09-21 14:58:17 所属栏目:教程 来源:
导读:  ±--------------------+

  1 row in set (0.04 sec)显示年月日

  SELECT DAYOFMONTH(CURRENT_DATE);

  ±-------------------------+

  | DAYOFMONTH(CURRENT_DATE) |
  ±--------------------+
 
  1 row in set (0.04 sec)显示年月日
 
  SELECT DAYOFMONTH(CURRENT_DATE);
 
  ±-------------------------+
 
  | DAYOFMONTH(CURRENT_DATE) |
 
  ±-------------------------+
 
  | 15 |
 
  ±-------------------------+
 
  1 row in set (0.01 sec)
 
  SELECT MONTH(CURRENT_DATE);
 
  ±--------------------+
 
  | MONTH(CURRENT_DATE) | ±--------------------+
 
  | 9 |
 
  ±--------------------+
 
  1 row in set (0.00 sec)
 
  SELECT YEAR(CURRENT_DATE);
 
  ±-------------------+
 
  | YEAR(CURRENT_DATE) |
 
  ±-------------------+
 
  | 2009 |
 
  ±-------------------+
 
  1 row in set (0.00 sec)
 
  4) 显示字符串
 
  mysql> SELECT “welecome to my blog!”;
 
  ±---------------------+
 
  | welecome to my blog! |
 
  ±---------------------+
 
  | welecome to my blog! |
 
  ±---------------------+
 
  1 row in set (0.00 sec)
 
  5) 当计算器用
 
  select ((4 * 4) / 10 ) + 25;
 
  ±---------------------+
 
  | ((4 * 4) / 10 ) + 25 |
 
  ±---------------------+
 
  | 26.60 |
 
  ±---------------------+
 
  1 row in set (0.00 sec)
 
  6) 串接字符串
 
  select CONCAT(f_name, " ", l_name)
 
  AS Name
 
  from employee_data
 
  where title = ‘Marketing Executive’;
 
  ±--------------+
 
  | Name |
 
  ±--------------+
 
  | Monica Sehgal |
 
  | Hal Simlai |
 
  | Joseph Irvine | ±--------------+
 
  3 rows in set (0.00 sec)
 
  注意:这里用到 CONCAT()函数,用来把字符串串接起来。另外,我们还用到以前学到的 AS
 
  给结果列’CONCAT(f_name, " ", l_name)'起了个假名。
 
  9. create table:创建数据表
 
  数据表属于数据库,在创建数据表之前mysql命令,应该使用语句“USE ”指定操作是在哪
 
  个数据库中进行,如果没有选择数据库,会抛出“No database selected”的错误。
 
  创建数据表的语句为 CREATE TABLE,语法规则如下:
 
  CREATE TABLE
 
  (
 
  字段名 1,数据类型 [列级别约束条件] [默认值],
 
  字段名 2,数据类型 [列级别约束条件] [默认值],
 
  ??
 
  [表级别约束条件]
 
  );
 
  使用 CREATE TABLE 创建表时,必须指定以下信息:
 
  (1)要创建的表的名称,不区分大小写,不能使用 SQL 语言中的关键字,如 DROP、ALTER、
 
  INSERT 等。
 
  (2)数据表中每一个列(字段)的名称和数据类型,如果创建多个列,要用逗号隔开。
 
  创建员工表 tb_emp1,结构如下表所示。
 
  表 tb_emp1 表结构
 
  字段名称 数据类型 备注
 
  id INT(11) 员工编号
 
  name VARCHAR(25) 员工名称
 
  deptId INT(11) 所在部门编号
 
  salary FLOAT 工资
 
  首先创建数据库,SQL 语句如下:
 
  CREATE DATABASE test_db;
 
  选择创建表的数据库,SQL 语句如下:
 
  USE test_db;
 
  创建 tb_emp1 表,SQL 语句为:
 
  CREATE TABLE tb_emp1
 
  (id INT(11),
 
  name VARCHAR(25),
 
  deptId INT(11),
 
  salary FLOAT
 
  );
 
  语句执行后,便创建了一个名称为 tb_emp1 的数据表,使用 SHOW TABLES;语句查看数据
 
  表是否创建成功,SQL 语句如下:
 
  mysql> SHOW TABLES;
 
  ±----------------------+
 
  | Tables_in_ test_db |
 
  ±---------------------+
 
  | tb_emp1 |
 
  ±---------------------+
 
  1 row in set (0.00 sec)
 
  可以看到,test_db 数据库中已经有了数据表 tb_tmp1,数据表创建成功。
 
  10. desc:获取表结构
 
  在 MySQL 中,查看表结构可以使用 DESCRIBE 和 SHOW CREATE TABLE 语句。
 
  DESCRIBE/DESC 语句可以查看表的字段信息,其中包括:字段名、字段数据类型、是否为主
 
  键、是否有默认值等。语法规则如下:
 
  DESCRIBE 表名;
 
  或者简写为:
 
  DESC 表名;
 
  SHOW CREATE TABLE 语句可以用来显示创建表时的 CREATE TABLE 语句,语法格式
 
  如下:
 
  SHOW CREATE TABLE ;
 
  使用 SHOW CREATE TABLE 语句,不仅可以查看表创建时候的详细语句,而且还可以查
 
  看存储引擎和字符编码。
 
  如果不加’\G’参数,显示的结果可能非常混乱,加上参数’\G’之后,可使显示结果更加直观,
 
  易于查看。
 
  使用 SHOW CREATE TABLE 查看表 tb_emp1 的详细信息,SQL 语句如下:
 
  mysql> SHOW CREATE TABLE tb_emp1;
 
  11. drop table:删除数据表
 
  在 MySQL 中,使用 DROP TABLE 可以一次删除一个或多个没有被其他表关联的数据表。语
 
  法格式如下:
 
  DROP TABLE [IF EXISTS]表 1, 表 2, . . . 表 n;
 
  其中“表 n”指要删除的表的名称,后面可以同时删除多个表,只需将要删除的表名依次写在
 
  后面,相互之间用逗号隔开即可。如果要删除的数据表不存在,则 MySQL 会提示一条错误信息,
 
  “ERROR 1051 (42S02): Unknown table ‘表名’”。参数“IF EXISTS”用于在删除前判断删除的表是
 
  否存在,加上该参数后,再删除表的时候,如果表不存在,SQL 语句可以顺利执行,但是会发出
 
  警告(warning)。
 
  在前面的例子中,已经创建了名为 tb_dept2 的数据表。如果没有,读者可输入语句,创建该
 
  表,SQL 语句如例 4.8 所示。下面使用删除语句将该表删除。
 
  删除数据表 tb_dept2,SQL 语句如下:
 
  DROP TABLE IF EXISTS tb_dept2;
 
  12. insert into:向表中插入数据
 
  INSERT INTO 语句用于向表格中插入新的行。
 
  语法如下:
 
  INSERT INTO 表名称 VALUES (值 1, 值 2,…)
 
  我们也可以指定所要插入数据的列:
 
  INSERT INTO table_name (列 1, 列 2,…) VALUES (值 1, 值 2,…)
 
  【例】创建数据表 tmp3,定义数据类型为 YEAR 的字段 y,向表中插入值 2010,’2010’,SQL
 
  语句如下:
 
  首先创建表 tmp3:
 
  CREATE TABLE tmp3( y YEAR );
 
  向表中插入数据:
 
  mysql> INSERT INTO tmp3 values(2010),(‘2010’);
 
  13. select from:查询表中数据
 
  MySQL 从数据表中查询数据的基本语句为 SELECT 语句。SELECT 语句的基本格式是:SELECT
 
  {* | }
 
  [
 
  FROM ,…
 
  [WHERE
 
  [GROUP BY ]
 
  [HAVING [{ }…]]
 
  [ORDER BY ]
 
  [LIMIT [,] ]
 
  ]
 
  SELECT [字段 1,字段 2,…,字段 n]
 
  FROM [表或视图]
 
  WHERE [查询条件];
 
  其中,各条子句的含义如下:
 
  {* | }包含星号通配符选字段列表,表示查询的字段,其中字段列至少包含一个字
 
  段名称,如果要查询多个字段,多个字段之间用逗号隔开,最后一个字段后不要加逗号。
 
  FROM ,…,表 1 和表 2 表示查询数据的来源,可以是单个或者多个。
 
  WHERE 子句是可选项,如果选择该项,将限定查询行必须满足的查询条件。
 
  GROUP BY ,该子句告诉 MySQL 如何显示查询出来的数据,并按照指定的字段分
 
  组。
 
  [ORDER BY ],该子句告诉 MySQL 按什么样的顺序显示查询出来的数据,可以进行
 
  的排序有:升序(ASC)、降序(DESC)。
 
  [LIMIT [,] ],该子句告诉 MySQL 每次显示查询出来的数据条数。
 
  14. delete from:删除记录
 
  从数据表中删除数据使用 DELETE 语句,DELETE 语句允许 WHERE 子句指定删除条件。
 
  DELETE 语句基本语法格式如下:
 
  DELETE FROM table_name [WHERE ];
 
  table_name 指定要执行删除操作的表;“[WHERE ]”为可选参数,指定删除条件,
 
  如果没有 WHERE 子句,DELETE 语句将删除表中的所有记录。
 
  【例】在 person 表中,删除 id 等于 11 的记录,SQL 语句如下:
 
  mysql> DELETE FROM person WHERE id = 11;
 
  Query OK, 1 row affected (0.02 sec)
 
  15. update set:修改表中的数据
 
  MySQL 中使用 UPDATE 语句更新表中的记录,可以更新特定的行或者同时更新所有的行。
 
  基本语法结构如下:
 
  UPDATE table_name
 
  SET column_name1 = value1,column_name2=value2,……,column_namen=valuen
 
  WHERE (condition);column_name1,column_name2,……,column_namen 为 指 定 更 新 的 字 段 的 名 称 ; value1,
 
  value2,……valuen 为相对应的指定字段的更新值;condition 指定更新的记录需要满足的条件。更新
 
  多个列时,每个“列-值”对之间用逗号隔开,最后一列之后不需要逗号。
 
  【例】在 person 表中,更新 id 值为 11 的记录,将 age 字段值改为 15,将 name 字段值改为
 
  LiMing,SQL 语句如下:
 
  UPDATE person SET age = 15, name=’LiMing’ WHERE id = 11;
 
  16. alter add:增加字段
 
  添加字段的语法格式如下:
 
  ALTER TABLE ADD
 
  [约束条件] [FIRST | AFTER 已存在字段名];
 
  新字段名为需要添加的字段的名称;“FIRST”为可选参数,其作用是将新添加的字段设置为
 
  表的第一个字段;“AFTER”为可选参数,其作用是将新添加的字段添加到指定的“已存在字段
 
  名”的后面。
 
  【例】在数据表 tb_dept1 中添加一个没有完整性约束的 INT 类型的字段 managerId(部门经理
 
  编号),SQL 语句如下:
 
  ALTER TABLE tb_dept1 ADD managerId INT(10);
 
  17. rename:修改表名
 
  MySQL 是通过 ALTER TABLE 语句来实现表名的修改的,具体的语法规则如下:
 
  ALTER TABLE RENAME [TO] ;
 
  其中 TO 为可选参数,使用与否均不影响结果。
 
  【例】将数据表 tb_dept3 改名为 tb_deptment3,SQL 语句如下:
 
  ALTER TABLE tb_dept3 RENAME tb_deptment3;
 
  18. mysqldump:备份数据库
 
  mysqldump 备份数据库语句的基本语法格式如下:
 
  mysqldump –u user –h host –ppassword dbname[tbname, [tbname…]]> filename.sql
 
  user 表示用户名称;host 表示登录用户的主机名称;password 为登录密码;dbname 为需要备
 
  份的数据库名称;tbname 为 dbname 数据库中需要备份的数据表,可以指定多个需要备份的表;右
 
  箭头符号“>”告诉 mysqldump 将备份数据表的定义和数据写入备份文件;filename.sql 为备份文件的名称。
 
  【例】使用 mysqldump 命令备份数据库中的所有表,执行过程如下:
 
  打开操作系统命令行输入窗口,输入备份命令如下:
 
  C:\ >mysqldump -u root -p booksdb > C:/backup/booksdb_20130301.sql
 
  Enter password: **
 
  输入密码之后,MySQL 便对数据库进行了备份,在 C:\backup 文件夹下面查看刚才备份过的文件。
 
  19. mysql 和 source:还原数据库
 
  对于已经备份的包含 CREATE、INSERT 语句的文本文件,可以使用 mysql 命令导入到数据库
 
  中。
 
  备份的 sql 文件中包含 CREATE、INSERT 语句(有时也会有 DROP 语句)。mysql 命令可以
 
  直接执行文件中的这些语句。其语法如下:
 
  mysql –u user –p [dbname] < filename.sql
 
  user 是执行 backup.sql 中语句的用户名;-p 表示输入用户密码;dbname 是数据库名。如果
 
  filename.sql 文件为 mysqldump 工具创建的包含创建数据库语句的文件,执行的时候不需要指定数
 
  据库名。
 
  【例 1】使用 mysql 命令将 C:\backup\booksdb_20130301.sql 文件中的备份导入到数据库中,输
 
  入语句如下:
 
  mysql –u root –p booksDB < C:/backup/booksdb_20130301.sql
 
  执行该语句前,必须先在 MySQL 服务器中创建 booksDB 数据库,如果不存在恢复过程将会
 
  出错。命令执行成功之后 booksdb_20130301.sql 文件中的语句就会在指定的数据库中恢复以前的
 
  表。
 
  如果已经登录 MySQL 服务器,还可以使用 source 命令导入 sql 文件。source 语句语法如下:
 
  source filename
 
  【 例 2 】 使 用 root 用 户 登 录 到 服 务 器 , 然 后 使 用 source 导 入 本 地 的 备 份 文 件
 
  booksdb_20110101.sql,输入语句如下:
 
  –选择要恢复到的数据库
 
  mysql> use booksDB;
 
  Database changed
 
  –使用 source 命令导入备份文件
 
  mysql> source C:\backup\booksDB_20130301.sql
 
  命令执行后,会列出备份文件 booksDB_20130301.sql 中每一条语句的执行结果。source 命令
 
  执行成功后,booksDB_20130301.sql 中的语句会全部导入到现有数据库中。
 
  20. mysqlhotcopy:快速恢复数据库
 
  mysqlhotcopy 备份后的文件也可以用来恢复数据库,在 MySQL 服务器停止运行时,将备份的
 
  数据库文件复制到 MySQL 存放数据的位置(MySQL 的 data 文件夹),重新启动 MySQL 服务即
 
  可。如果以根用户执行该操作,必须指定数据库文件的所有者,输入语句如下:
 
  chown -R mysql.mysql /var/lib/mysql/dbname
 
  【例】从 mysqlhotcopy 复制的备份恢复数据库,输入语句如下:
 
  cp -R /usr/backup/test usr/local/mysql/data
 
  执行完该语句,重启服务器,MySQL 将恢复到备份状态
 

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!