MySql常用查询命令操作大全

 更新时间:2017年11月15日 09:22:04   投稿:mrr  
本文给大家收集整理了MySql常用查询命令操作大全,非常不错,具有参考借鉴价值,需要的朋友参考下吧

MYSQL常用查命令:

mysql> select version(); 查看MySQL的版本号
mysql> select current_date(); 查看MySQL的当前日期
mysql> select version(),current_date(); 同时查看MySQL的版本号和当前日期
mysql> show databases; 显示当前存在的数据库
mysql> USE mysql 选择使用数据库(USE和QUIT命令不需要分号结束)
Database changed
mysql> select database(); 显示当前选择的数据库
mysql> show tables; 显示当前数据库中存在的表
mysql> select * from db; 显示表(db)的内容 
mysql> describe mytable; 显示表的结构

或show columns from 表名;

mysql> select
-> user()
-> \c
mysql>

练习如下操作:

mysql> select
-> USER()
-> ,
-> now()
->;
mysql> Select (20+5)*4;
mysql> Select (20+5)*4,sin(pi()/3);
mysql> Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)

查看MySQL当前用户占用的连接数

命令: show processlist;

如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。

show processlist;只列出前100条,如果想全列出请使用show full processlist;

mysql> show processlist;

一。数据库:

mysql> CREATE DATABASE abccs; 创建一个数据库 
mysql> USE abccs 选择使用数据库
mysql> drop database 数据库名; 删除数据库

二。表:

1。创建一个表mytable:

mysql> CREATE TABLE mytable
-> (
-> name VARCHAR(20),
-> sex CHAR(1),
-> birth DATE,
-> birthaddr VARCHAR(20)
-> );

建立一个员工生日表,表的内容包含员工姓名、性别、出生日期、出生城市。

由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。

可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。

性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);

birth列则使用DATE数据类型。

2。查询刚添加的记录:

mysql> select * from mytable;

Empty set (0.00 sec) 这说明刚才创建的表还没有记录。

3。添加新记录:

mysql> insert into mytable 
-> values
->(
->'abccs',
->'f',
->'1977-07-07',
->'china'
->);

4。用文本方式将数据装入一个数据库表:

一条一条地添加新记录,实在太麻烦。

创建一个文本文件“mysql.txt”,按表结构排好每行每条记录,用定位符(tab)把值分开。

abccs f 1977-07-07 china 
mary f 1978-12-12 usa
tom m 1970-09-02 usa

使用此命令将文本文件“mytable.txt”装载到表中:

mysql> Load data local infile "mytable.txt" into table mytable;

数据传入命令load data local infile "文件名" into table 表名;

注意:你最好将文件复制到mysql/bin目录下,并且要先用use命令选表所在的库。

5。更新记录:

mysql> update mytable set birth = "1973-09-02" where name = "tom";

6。删除记录:

mysql> delete from mytable where id=10; //删除掉所有id=10的记录;
mysql> delete from mytable where id=10 limit 1; //限制删除掉1条id=10的记录;
mysql> delete from mytable //删除一个表的全部记录;
mysql> DELETE FROM t1 WHERE C>10;
mysql> drop table tablename1,tablename2,…; //删除整一个表或多个表,小心使用。

7。重命名表:

mysql> alter table t1 rename t2;

8。修改mysql的表结构:

查看mysql的表结构:

mysql> describe mytable; 或用show columns from 表名;

修改字段属性

mysql> alter table tablename modify id int(10) unsigned auto_increment primary key not null

修改默认值

mysql> alter table tablename alter id default 0

给字段增加primary key

mysql> alter table tablename add primary key(id);

删除primary key

alter table tablename drop primary key;
drop primary key on tablename;

修改table表数据引擎

mysql> alter table tableName ENGINE = MyISAM (InnoDB);

增加一新字段名:

mysql> alter table mytable add column single char(1);
mysql> ALTER TABLE table ADD field INT(11) UNSIGNED NOT NULL

删除字段

mysql> alter table t2 drop column c;

附:

为了改变列a,从INTEGER改为TINYINT NOT NULL(名字一样),

并且改变列b,从CHAR(10)改为CHAR(20),同时重命名它,从b改为c:

ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

增加一个新TIMESTAMP列,名为d:

ALTER TABLE t2 ADD d TIMESTAMP;

在列d上增加一个索引,并且使列a为主键:

ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

增加一个新的AUTO_INCREMENT整数列,命名为c:

ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);

注意,我们索引了c,因为AUTO_INCREMENT柱必须被索引,

并且另外我们声明c为NOT NULL,因为索引了的列不能是NULL。

使用name列的头10个字符创建一个索引:

CREATE INDEX part_of_name ON customer (name(10));

三。数据的备份与恢复:

导出和导入数据:(命令在DOS的mysql/bin目录下执行)

导出表

mysqldump --opt school > school.sql

注释:将数据库school中的表全部备份到school.sql文件,school.sql是一个文本文件,

文件名任取,打开看看你会有新发现。

mysqldump --opt school teacher student > school.teacher.student.sql

注释:将数据库school中的teacher表和student表备份到school.teacher.student.sql文件,school.teacher.student.sql是一个文本文件,文件名任取,打开看看你会有新发现。

导入表

mysql
mysql>create database school;
mysql>use school;
mysql>source school.sql;

(或将school.sql换为school.teacher.sql / school.teacher.student.sql)

导出数据库

mysqldump --databases db1 db2 > db1.db2.sql

注释:将数据库dbl和db2备份到db1.db2.sql文件,db1.db2.sql是一个文本文件,文件名

任取,打开看看你会有新发现。

(举个例子:

mysqldump -h host -u user -p pass --databases dbname > file.dump

就是把host上的以名字user,口令pass的数据库dbname导入到文件file.dump中。)

导入数据库

mysql < db1.db2.sql

复制数据库mysqldump --all-databases > all-databases.sql

注释:将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。

导入数据库

mysql
mysql>drop database a;
mysql>

相关文章

  • MySQL字符集的基本类型与统一字符集分析

    MySQL字符集的基本类型与统一字符集分析

    此文章主要向大家描述的是MySQL字符集的基本类型,以及统一字符集的实际操作方法,下面就是文章的主要内容描述。
    2011-09-09
  • MySQL主从同步延迟原因与解决方案

    MySQL主从同步延迟原因与解决方案

    本文主要介绍了MySQL主从同步延迟原因与解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • 修改mysql默认字符集的两种方法详细解析

    修改mysql默认字符集的两种方法详细解析

    下面小编就为大家介绍两种修改mysql默认字符集的方法。需要的朋友可以过来参考下
    2013-08-08
  • MySQL学习之数据库操作DML详解小白篇

    MySQL学习之数据库操作DML详解小白篇

    本篇文章非常适合MySQl初学者,主要为大家讲解了MySQL数据库的常用操作,有需要的朋友可以借鉴参考下,希望可以有所帮助,祝大家早日进步升职加薪
    2021-09-09
  • windows系统mysql压缩包版本安装过程

    windows系统mysql压缩包版本安装过程

    这篇文章主要介绍了windows系统mysql压缩包版本安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • MySQL创建新用户、增加账户的2种方法及使用实例

    MySQL创建新用户、增加账户的2种方法及使用实例

    这篇文章主要介绍了MySQL创建新用户、增加账户的2种方法及使用实例,本文同时也介绍了更新和修改密码的方法,需要的朋友可以参考下
    2014-12-12
  • MySQL表字段数量限制及行大小限制详情

    MySQL表字段数量限制及行大小限制详情

    这篇文章主要介绍了MySQL表字段数量限制及行大小限制详情,表的行最大的row size会限制字段数量,如果当前row size过大就不能加字段了,更多相关需要的小伙伴可以参考下面文章详情
    2022-07-07
  • 利用MySQL Shell安装部署MGR集群的详细过程

    利用MySQL Shell安装部署MGR集群的详细过程

    MySQL Shell是一个客户端工具,可用于方便管理和操作MySQL,支持SQL、JavaScript、Python等多种语言,也包括完善的API,本文介绍如何利用MySQL Shell + GreatSQL 8.0.25构建一个三节点的MGR集群,感兴趣的朋友一起看看吧
    2022-02-02
  • 使用mysql语句对分组结果进行再次筛选方式

    使用mysql语句对分组结果进行再次筛选方式

    这篇文章主要介绍了使用mysql语句对分组结果进行再次筛选方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • mysql增量备份及断点恢复脚本实例

    mysql增量备份及断点恢复脚本实例

    生产环境中在mysql中误操作是非常正常的,所以就需要用到mysql的增量备份恢复。增量备份是我们经常用到的,它可以指定某个误操作的时间以及位置点进行数据恢复,更加准确的恢复我们想要还原的数据。
    2018-09-09

最新评论