常用命令用法总结脚本之家整理版_Mysql_脚本之家

一、进入MySQL与退出MySQL

一、启动与退出 1、进入MySQL:启动MySQL Command Line
Client,直接输入安装时的密码即可。此时的提示符是:mysql>
2、退出MySQL:quit或exit 二、库操作 1、、创建数据库 命令:create
database 例如:建立一个名为xhkdb的数据库 mysql> create database
xhkdb; 2、显示所有的数据库 命令:show databases mysql> show
databases; 3、删除数据库 命令:drop database 例如:删除名为
xhkdb的数据库 mysql> drop database xhkdb; 4、连接数据库 命令: use
例如:如果xhkdb数据库存在,尝试存取它: mysql> use xhkdb;
屏幕提示:Database changed 5、当前选择的数据库 mysql> select
database(); 6、当前数据库包含的表信息: mysql> show tables;
三、表操作,操作之前应连接某个数据库 1、建表 命令:create table (
[,.. ]); mysql> create table MyClass not null primary key
auto_increment, > name char not null, > sex int not null default
‘0’, > degree double; 2、获取表结构 命令: desc 表名,或者show
columns from 表名 mysql> desc MyClass; mysql> show columns from
MyClass; 3、删除表 命令:drop table 例如:删除表名为 MyClass 的表
mysql> drop table MyClass; 4、插入数据 命令:insert into [] values
] 例如,往表 MyClass中插入二条记录,
这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan
的成绩为82.99, 编号为3 的名为Wang 的成绩为96.5. mysql> insert into
MyClass values,, ; 5、查询表中的数据 1)、查询所有行 命令: select from
< 表名 > where < 表达式 > 例如:查看表 MyClass 中所有数据
mysql> select * from MyClass; 2)、查询前几行数据 例如:查看表
MyClass 中前2行数据 mysql> select * from MyClass order by id limit
0,2; 6、删除表中数据 命令:delete from 表名 where 表达式 例如:删除表
MyClass中编号为1 的记录 mysql> delete from MyClass where id=1;
7、修改表中数据:update 表名 set 字段=新值,… where 条件 mysql> update
MyClass set name=’Mary’ where id=1; 7、在表中增加字段: 命令:alter
table 表名 add字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int,默认值为0
mysql> alter table MyClass add passtest int default ‘0’ 8、更改表名:
命令:rename table 原表名 to 新表名; 例如:在表MyClass名字更改为YouClass
mysql> rename table MyClass to YouClass; 更新字段内容 update 表名
set 字段名 = 新内容 update 表名 set 字段名 = replace;
文章前面加入4个空格 update article set content=concat; 字段类型
1.INT[] 型: 正常大小整数类型 2.DOUBLE[] [ZEROFILL] 型:
正常大小浮点数字类型 3.DATE
日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列
4.CHAR 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度
5.BLOB TEXT类型,最大长度为65535个字符。 6.VARCHAR型:变长字符串类型
mysqldump 命令的使用 备份和导出数据库 mysqldump -h database_ip -u
Username -p –opt databasename > backup-file.sql 只导出数据库表结构
mysqldump -h database_ip -d -u Username -p databasename
>database_structure.sql 只导出数据库中的某个表 mysqldump –opt
–add-drop-table -u Username -p databasename tablename > dump.sql
如果不想手工输入密码 请使用–password 参数 mysqldump -h database_ip -u
Username –password=123456 –opt databasename > backup-file.sql
mysqldump -h database_ip -d -u Username –password=123456 databasename
>database_structure.sql mysql 命令使用 将查询结果保存到文件
select title from book into outfile ‘/tmp/outfile.txt’;
查找表中多余的重复记录,重复记录是根据某个字段来判断 select * from
people where peopleId in (select peopleId from people group by peopleId
having count; 查询表中不重复记录 select * from phome_ecms_wma where
title in (select distinct title from phome_ecms_wma);
删除表中重复记录,重复记录是根据某个字段来判断 select *,count INTO
OUTFILE ‘/tmp/table.bak’ from phome_ecms_wma group by title; delete
from phome_ecms_wma; LOAD DATA INFILE ‘/tmp/table.bak’ REPLACE INTO
TABLE phome_ecms_wma character set utf8; 查询数据库当前编码 mysql>
show variables like “character_set%”; 修改表字段类型 mysql> alter
table table_name change last_action last_action datetime NOT NULL
default ‘0000-00-00 00:00:00’; 给表添加一个新字段 mysql> ALTER TABLE
host ADD ks_mac VARCHAR; 从表中删除一个字段 mysql> ALTER TABLE
table_name DROP field_name; 重命名表 mysql>alter table t1 rename
t2; 给字段加索引 mysql> alter table tablename add index 索引名 ;
mysql> alter table tablename add index emp_name ; 加主关键字的索引
mysql> alter table tablename add primary key; 加唯一限制条件的索引
mysql> alter table tablename add unique emp_name2; 删除某个索引
mysql>alter table tablename drop index emp_name; 远程访问mysql 设置
mysql> GRANT ALL PRIVILEGES ON database_test.* to root@192.168.1.9
IDENTIFIED BY ‘123456’; mysql> FLUSH PRIVILEGES;
1、使用SHOW语句找出在服务器上当前存在什么数据库 mysql> show
databases; 2、创建一个数据库MYSQLDATA mysql> create database mydata;
3、选择你所创建的数据库 mysql> use mydata;
4、查看现在的数据库中存在什么表 mysql> show tables;
5、创建一个数据库表 mysql> create table mytable , sex char;
6、显示表的结构: mysql> describe mytable; 7、往表中加入记录
mysql> insert into mytable values ; 8、用文本方式将数据装入数据库表中
mysql> load data local infile “d:/mysql.txt” into table mytable;
9、导入.sql文件命令 mysql>use database; mysql>source d:/mysql.sql;
10、删除表 mysql>drop table mytable; 11、清空表 mysql>delete from
mytable; 12、更新表中数据 mysql>update mytable set sex=”f” where
name=test;
刚安装好的MySQL包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码,可用如下命令进行:
======================================= mysql> use mysql; mysql>
delete from User where User=””; mysql> update User set

1.进入MySQL步骤:先打开CMD命令行;命令:C:Usersadmin> mysql
-h(域名,可填或不填) -u(账号) -p(密码);

Password=PASSWORD where User=root;

如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令:
======================================= shell> mysql -uroot -p;
shell> mysql -uroot -pnewpassword; shell> mysql mydb -uroot -p;

连接成功时会跳出以下命令:

www.350.vip ,shell> mysql mydb -uroot -pnewpassword;

上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的数据库的名称。

Connection id: 9 【这个表示:连接次数】
Current database: 【这个表示:当前操作的数据库名称】
Current user: root@localhost 【这个表示:当前登录的用户 用户名@地址】
SSL: Not in use 【这个表示:是否在使用加密链接 SSL加密】
Using delimiter: ; 【这个表示:命令分隔符,结束时以分号结束】
Server version: 5.5.48 MySQL Community Server (GPL)
【这个表示:当前mysql数据库的版本型号】
Protocol version: 10 【这个表示:协议版本】
Connection: 127.0.0.1 via TCP/IP 【这个表示:连接信息】
Server characterset: utf8 【这个表示:mysql数据库管理系统的安装编码】
Db characterset: utf8 【这个表示:数据库编码】
Client characterset: utf8 【这个表示:当前客户端的默认编码】
Conn. characterset: utf8 【这个表示:当前数据库链接使用的编码】
TCP port: 3306 【这个表示:端口号】
Uptime: 7 min 11 sec
【这个表示:数据库的启动时间[距离上一次重启的时间]】

在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySQL的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过grant命令创建具有某种权限的用户。其中grant的常用用法如下:

mysql> grant all on mydb.* to NewUserName@HostName identified by
“password” ; mysql> grant usage on *.* to NewUserName@HostName
identified by “password”; mysql> grant select,insert,update on
mydb.* to NewUserName@HostName identified by “password”; mysql>
grant update,delete on mydb.TestTable to NewUserName@HostName identified

2、退出MySQL:quit或exit (回车) 或者 Ctrl+C

by “password”;

若要给此用户赋予他在相应对象上的权限的管理能力,可在grant后面添加with
grant
option选项。而对于用插入User表添加的用户,Password字段应用password函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段,也可以使用revoke操作。以下是常用权限的解释:
============================================= 全局管理权限
FILE:在MySQL服务器上读写文件。
PROCESS:显示或杀死属于其它用户的服务线程。
RELOAD:重载访问控制表,刷新日志等。 SHUTDOWN:关闭MySQL服务。
数据库/数据表/数据列权限 ALTER:修改已存在的数据表和索引。
CREATE:建立新的数据库或数据表。 DELETE:删除表的记录。
DROP:删除数据表或数据库。 INDEX:建立或删除索引。
INSERT:增加表的记录。 SELECT:显示/搜索表的记录。
UPDATE:修改表中已存在的记录。 特别的权限 ALL:允许做任何事。
USAGE:只允许登录–其它什么也不允许做。
=============================================MySQL常用操作基本操作,以下都是MySQL5.0下测试通过首先说明下,记住在每个命令结束时加上;
1.导出整个数据库 mysqldump -u 用户名 -p –default-character-set=latin1
数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc >
wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名>
导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users>
wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d
–add-drop-table smgp_apps_wcnc >d:wcnc_db.sql -d 没有数据
–add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库
常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use
数据库 然后使用source命令,后面参数为脚本文件 mysql>source
d:wcnc_db.sql

二、MySQL基础的操作

1.创建数据库命令:mysql> create database <数据库名>

2.显示所有的数据库命令:mysql> show databases (注意:最后有个s)

3.删除数据库命令:mysql> drop database <数据库名>

4.进入数据库命令:mysql> use <数据库名>

5.转换编码命令:mysql> set names gbk

6.查看当前使用的数据库命令:mysql> select database();

7.当前数据库所有的表信息命令:mysql> show tables (注意:最后有个s);

8.导出数据库命令:mysqldump  -h(域名)  -u(帐号)  -p(密码) 数据库名  >
 本地路径+文件名;
(注意:导出数据库前必须先要退出MySQL控制台。还有导出的文件后缀名一般都是使用
.sql)

9.导入数据库命令:首先登入MySQL控制台C:Usersadmin> mysql
-h(域名,可填或不填) -u(账号) -p(密码); 在进入数据库mysql> use
<数据库>; 在导入数据库mysql> source E:/school.sql
 (注意:source 后面是你sql文件所在的绝对路径)

10.在MySQL的表中增加字段命令:mysql> alter table <表名> add
column userid smallint not null primary key
auto_increment; 这样,就在这张表dbname中添加了一个字段userid,类型为smallint

11.删除表命令:mysql> drop table student

12.清空表命令:mysql> delete from student

13.更新表命令:mysql> update student set `name`=’小A’ where
`id`=1

 

三、表操作,操作前必须连接某个数据库

1.建表命令:create table <表名> ( <字段名1> <类型1>
[,..<字段名n> <类型n>]);

例如:

mysql> create table Student(

-> id smallint unsigned not null primary key auto_increment comment
‘注释id’,

-> name char(20) not null comment ‘注释name’,

-> sex tinyint null default “1” comment ‘注释sex[男为1,女为2]’,

->) engine = innoDB;

2.获取表结构命令:desc <表名> 或者 show columns from <表名>
还有 show create table <表名>

例如:

mysql> desc Student

mysql> show columns from Student

mysql> show create table Student

3.删除表命令:drop table <表名>

例如:

mysql> drop table Student

4.添加新数据命令:insert into <表名> ( 字段名1 , …字段名n )
values ( 值1 , …值n )。或者 insert into <表名> values(
要输入全部的数据结构 ),(注意:如需添加多条数据请用逗号隔开)

例如:

mysql> insert into Student values(1, ‘小A’ , 2), (2, ‘小B’, 1), (3,
‘小C’, 2)

5.查询表中数据命令:select <字段1,字段2,…字段n> from
<表名> where <条件>。或者 select * from <表名>

例如:

mysql> select * from Student

6.删除表中数据命令:delete from <表名> where <条件>。或者
delete from <表名>

例如:

mysql> delete from Student

7.修改表中的数据命令:update <表名> set 字段=新值, … where
<条件>

例如:

mysql> update Student set name=’小D’ where id=3

8.更改表名命令:rename table <旧的表名> to <新的表名>

例如:

mysql> rename table Student to Class

9.用文本方式将数据装入数据库表中

例如:D:/mysql.txt

mysql> load data local infile “D:/mysql.txt” into table Student

四、数据类型

1.字符串类型

CHAR(M)型: 固定长度的字符串,最大长度为255个字节

VARCHAR(M)型: 可变长度,最多不超过65
535字节,如在创建时指定VARCHAR(n),则可存储0~n个字节

TINYTEXT型: 可变长度的字符串,支持最大长度255个字节

TEXT型: 可变长度的字符串,支持最大长度65 535个字节

MEDIUMTEXT型: 可变长度的字符串,支持最大长度16 777 215个字节

LONGTEXT型: 可变长度的字符串,支持最大长度4 294 967 295个字节

发表评论

电子邮件地址不会被公开。 必填项已用*标注