澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

常用命令,MySql命令实例汇总

一、进入MySQL与退出MySQL

1、运转与脱离
一、进入MySQL:运转MySQL Command Line Client(MySQL的DOS分界面),直接输入安装时的密码就能够。此时的唤醒符是:mysql>
2、退出MySQL:quit或exit
二、库操作 壹、、成立数据库
一声令下:create database <数据库名>
诸如:建构三个名称为xhkdb的数据库
mysql> create database xhkdb;
2、突显全体的数据库
一声令下:show databases (注意:最终有个s)
mysql> show databases;
三、删除数据库
命令:drop database <数据库名>
举个例子说:删除名称叫 xhkdb的数据库
mysql> drop database xhkdb;
四、连接数据库
一声令下: use <数据库名>
诸如:即便xhkdb数据仓库储存在,尝试存取它:
mysql> use xhkdb;
荧屏指示:Database changed
5、当前挑选(连接)的数据库
mysql> select database();
六、当前数据库包涵的表新闻:
mysql> show tables; (注意:最终有个s)

首先招、mysql服务的起步和终止

MySql命令实例汇总,mysql实例汇总

本文实例总计了MySQL常用的各类操作命令。分享给我们供大家参照他事他说加以考察,具体如下:

Mysql安装目录

数据库目录

/var/lib/mysql/

配备文件

/usr/share/mysql(mysql.server命令及布局文件)

有关命令

/usr/bin(mysqladmin mysqldump等命令)

启航脚本

/etc/init.d/mysql(运维脚本文件mysql的目录)

系统管理

连接MySQL

格式: mysql -h 主机地址 -u用户名 -p用户密码

例 一:连接到本机上的 MySQL。
复制代码 代码如下:[email protected]:~$ mysql -uroot -pmysql;

例 二:连接到长途主机上的 MYSQL。
复制代码 代码如下:[email protected]:~$ mysql -h 127.0.0.1 -uroot -pmysql;

修改新密码

在终点输入:mysql -u用户名 -p密码,回车进入Mysql。

> use mysql;
> update user set password=PASSWORD('新密码') where user='用户名';
> flush privileges; #更新权限
> quit; #退出

充实新用户

格式:grant select on 数据库.* to 用户名@登入主机 identified by '密码'

举例:

例 一:增添3个用户 test一 密码为 abc,让他得以在别的主机上登入,并对具备数据库有
询问、插入、修改、删除的权位。首先用以 root 用户连入 MySQL,然后键入以下命令:
复制代码 代码如下:mysql>grant select,insert,update,delete on *.* to [email protected] identified by 'mysql';
或者
复制代码 代码如下:grant all privileges on *.* to [email protected] identified by 'mysql';
然后刷新权限设置。
复制代码 代码如下:flush privileges;

例 贰:要是你不想 root 有密码操作数据库"mydb"里的数据表,能够再打三个命令将密码消掉。
复制代码 代码如下:grant select,insert,update,delete on mydb.* to [email protected] identified by '';

剔除用户

[email protected]:~$ mysql -u用户名 -p密码
mysql>delete from user where user='用户名' and host='localhost';
mysql>flush privileges;
//删除用户的数据库
mysql>drop database dbname;

数据库操作

展现全体的数据库
复制代码 代码如下:mysql> show databases;(注意:最终有个 s)

开创数据库
复制代码 代码如下:mysql> create database test;

连续数据库
复制代码 代码如下:mysql> use test;

查阅当前使用的数据库
复制代码 代码如下:mysql> select database();

最近数据库包罗的表音讯
常用命令,MySql命令实例汇总。复制代码 代码如下:mysql> show tables; (注意:最后有个 s)

去除数据库
复制代码 代码如下:mysql> drop database test;

表操作

备考:操作从前运用"use <数据库名>"应连接有个别数据库。

建表

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

例子:

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));

赢得表结构

命令: desc 表名,或者show columns from 表名

例子:

mysql> describe MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;

删除表

命令:drop table <表名>

比方:删除表名称为 MyClass 的表
复制代码 代码如下:mysql> drop table MyClass;

安插数据

命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )]
例子:
复制代码 代码如下:mysql> insert into MyClass values(一,'汤姆',玖陆.四伍),(2,'Joan',八二.9九), (二,'Wang', 玖陆.5九);

查询表中的数据

查询全数行
复制代码 代码如下:mysql> select * from MyClass;

询问前几行数据

例如:查看表 MyClass 中前 2 行数据
复制代码 代码如下:mysql> select * from MyClass order by id limit 0,2;
或者
复制代码 代码如下:mysql> select * from MyClass limit 0,2;

删去表中数据

命令:delete from 表名 where 表达式

比如:删除表 MyClass 中编号为 一 的记录
复制代码 代码如下:mysql> delete from MyClass where id=1;

修改表中数据

命令:update 表名 set 字段=新值,... where 条件
复制代码 代码如下:mysql> update MyClass set name='玛丽' where id=壹;

在表中加进字段

命令:alter table 表名 add 字段 类型 其他;

例如:在表 MyClass 中增添了三个字段 passtest,类型为 int(四),默许值为 0
复制代码 代码如下:mysql> alter table MyClass add passtest int(四) default '0'

改动表名

命令:rename table 原表名 to 新表名;

譬喻:在表 MyClass 名字改成为 YouClass
复制代码 代码如下:mysql> rename table MyClass to YouClass;

立异字段内容

命令:update 表名 set 字段名 = 新内容

update 表名 set 字段名 = replace(字段名, '旧内容', '新内容');

譬喻:小说后边加入 四 个空格
复制代码 代码如下:update article set content=concat('    ', content);

数据库导入导出

从数据库导出数据库文件

使用"mysqldump"命令

首先进入 DOS 分界面,然后开始展览上边操作。

一)导出全部数据库

格式:mysqldump -u [数据库用户名] -p -A>[备份文件的保留路线]

二)导出数据和数据结构

格式:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保留路线]

举例:

例 壹:将数据库 mydb 导出到 e:MySQLmydb.sql 文件中。

展开发轫->运维->输入"cmd",进入命令行格局。
复制代码 代码如下:c:> mysqldump -h localhost -u root -p mydb >e:MySQLmydb.sql
下一场输入密码,等待一会导出就大功告成了,能够到对象文件中反省是或不是中标。

例 二:将数据库 mydb 中的 mytable 导出到 e:MySQLmytable.sql 文件中。
复制代码 代码如下:c:> mysqldump -h localhost -u root -p mydb mytable>e:MySQLmytable.sql

例 三:将数据库 mydb 的结构导出到 e:MySQLmydb_stru.sql 文件中。
复制代码 代码如下:c:> mysqldump -h localhost -u root -p mydb --add-drop-table >e:MySQLmydb_stru.sql
备考:-h localhost 能够轻松,其貌似在虚拟主机上用。

3)只导出多少不导出数据结构

格式:

mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保留路径]

四)导出数据库中的伊芙nts

格式:

mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保留路线]

5)导出数据库中的存款和储蓄进程和函数

格式:

mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路线]

从外表文件导入数据库中

1)使用"source"命令

第一进入"mysql"命令调整台,然后成立数据库,然后利用该数据库。最终实行上面操作。

mysql>source [备份文件的保留路线]

2)使用"<"符号

率先进入"mysql"命令调整台,然后创立数据库,然后退出 MySQL,进入 DOS 分界面。最终实行上边操作。

mysql -u root –p < [备份文件的保存路线]

常用MySQL语句补充:

  1. 动用SHOW语句搜索在服务器上脚下留存什么样数据库:
    复制代码 代码如下:mysql> SHOW DATABASES;
  2. 二、成立2个数据库MYSQLDATA
    复制代码 代码如下:mysql> CREATE DATABASE MYSQLDATA;
  3. 挑选你所创造的数据库
    复制代码 代码如下:mysql> USE MYSQLDATA; (按回车键出现Database changed 时表明操作成功!)
  4. 查阅现在的数据库中存在什么表
    复制代码 代码如下:mysql> SHOW TABLES;
  5. 始建三个数额库表
    复制代码 代码如下:mysql> CREATE TABLE MYTABLE (name VA奥迪Q7CHA安德拉(20), sex CHA奥迪Q5(1));
  6. 呈现表的布局:
    复制代码 代码如下:mysql> DESCHighlanderIBE MYTABLE;
  7. 往表中进入记录
    复制代码 代码如下:mysql> insert into MYTABLE values ("hyq","M");
  8. 用文件形式将数据装入数据库表中(比方D:/mysql.txt)
    复制代码 代码如下:mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
  9. 导入.sql文件命令(比如D:/mysql.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='hyq';

以下是在网络看到的使用MySql的治中药志验:

在windows中MySql以服务格局存在,在使用前应确定保障此服务业已起步,未运营可用net start mysql命令运行。而Linux中运转时可用"/etc/rc.d/init.d/mysqld start"命令,注意运维者应持有管理员权限。

刚安装好的MySql包括3个含空密码的root帐户和一个佚名帐户,那是十分的大的安全隐患,对于有个别生死攸关的利用大家应将安全性尽大概提升,在这里应把佚名帐户删除、 root帐户设置密码,可用如下命令进行:

use mysql;
delete from User where User="";
update User set Password=PASSWORD('newpassword') where User='root';

若果要对用户所用的登入终端举办限制,能够更新User表中相应用户的Host字段,在张开了上述退换后应重新开动数据库服务,此时登入时可用如下类似命令:

mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;

地点命令参数是常用参数的一片段,详细意况可参看文书档案。此处的mydb是要登六的数据库的称谓。

在展耗费付和骨子里使用中,用户不应该只用root用户进行连接数据库,即使应用root用户打开测试时很便宜,但会给系统带来重大安全隐患,也不便利管理技巧的压实。大家给二个施用中利用的用户赋予最适于的数据库权限。如1个只实行多少插入的用户不应赋予其除去数据的权力。MySql的用户管理是由此User表来贯彻的,加多新用户常用的主意有多少个,壹是在User表插入相应的数额行,同有毛病候设置相应的权力;二是通过GRANT命令创立具备某种权力的用 户。个中GRANT的常用用法如下:

grant all on mydb.* to [email protected] identified by "password" ;
grant usage on *.* to [email protected] identified by "password";
grant select,insert,update on mydb.* to [email protected] identified by "password";
grant update,delete on mydb.TestTable to [email protected] identified by "password";

若要给此用户赋予他在相应对象上的权位的治本力量,可在GRANT后边增添WITH GRANT OPTION选项。而对此用插入User表加多的用户,Password字段应用PASSWO本田UR-VD 函数进行翻新加密,以免不轨之人窃看密码。对于那么些已经毫无的用户应给予清除,权限过界的用户应即时回收权限,回收权限能够透过更新User表相应字段, 也得以运用REVOKE操作。

下边给出自个儿从别的材质(www.cn-java.com)获得的对常用权力的表达:

大局管理权限:

FILE: 在MySQL服务器上读写文件。
PROCESS: 展现或杀死属于其余用户的劳动线程。
RELOAD: 重载访问调节表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
常用命令,MySql命令实例汇总。数据库/数据表/数据列权限:
ALTE奥迪Q伍: 修改已存在的数据表(举个例子增加/删除列)和目录。
CREATE: 建构新的数据库或数据表。
DELETE: 删除表的笔录。
DROP: 删除数据表或数据库。
INDEX: 营造或删除索引。
INSERT: 扩张表的记录。
SELECT: 展现/寻觅表的记录。
UPDATE: 修改表中已存在的记录。
极其的权力:
ALL: 允许做其余事(和root同样)。
USAGE: 只同意登六–其它什么也不相同意做。

企望本文所述对大家MySQL数据库设计有着补助。

本文实例计算了MySQL常用的各类操作命令。分享给大家供大家参考,具体如下: Mysql安装目录 数据库目录...

正文实例总计了MySQL常用的种种操作命令。分享给我们供大家参照他事他说加以考察,具体如下:

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

三、表操作,操作在此之前应连接有个别数据库
1、建表
命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

net stop mysql

Mysql安装目录

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

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));
二、获取表结构
命令: desc 表名,或者show columns from 表名

net start mysql

数据库目录

Connection id: 九 【这一个代表:连接次数】
Current database: 【这几个象征:当前操作的数据库名称】
Current user: root@localhost 【这么些代表:当前登入的用户 用户名@地址】
SSL: Not in use 【这几个象征:是还是不是在应用加密链接 SSL加密】
Using delimiter: ; 【那些象征:命令分隔符,截止时以分行甘休】
Server version: 伍.伍.4八 MySQL Community Server (GPL) 【那一个象征:当前mysql数据库的本子型号】
Protocol version: 10 【那么些象征:协议版本】
Connection: 127.0.0.一 via TCP/IP 【那个代表:连接消息】
Server characterset: utf八 【这些象征:mysql数据库管理种类的装置编码】
Db characterset: utf8 【那些代表:数据库编码】
Client characterset: utf8 【那么些象征:当前客户端的默许编码】
Conn. characterset: utf八 【那些代表:当前数据库链接使用的编码】
TCP port: 330陆 【这么些代表:端口号】
Uptime: 柒 min 1一 sec 【这些代表:数据库的开发银行时间[离开上叁次重启的小运]】

mysql> desc MyClass;
mysql> show columns from MyClass;
3、删除表
命令:drop table <表名>
比如:删除表名称叫 MyClass 的表
mysql> drop table MyClass;
四、插入数据
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
譬喻,往表 MyClass中插入二条记下, 那二条记下表示:编号为一的名为汤姆的大成为9陆.四伍, 编号为二 的名称为Joan 的成绩为八二.9玖, 编号为三 的名叫Wang 的实际业绩为96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
伍、查询表中的数据
一)、查询全部行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
举例:查看表 MyClass 中有所数据
mysql> select * from MyClass;
二)、查询前几行数据
例如:查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
陆、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的笔录
mysql> delete from MyClass where id=1;
柒、修改表中数量: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(4) default '0'
八、更动表名:
命令:rename table 原表名 to 新表名;
譬如说:在表MyClass名字改成为YouClass
mysql> rename table MyClass to YouClass;

第二招、登陆mysql

/var/lib/mysql/

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

更新字段内容
update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,'旧内容','新内容');

语法如下: mysql -u用户名 -p用户密码

计划文件

贰、MySQL基础的操作

文章前面插足5个空格
update article set content=concat('  ',content);

键入命令mysql -uroot -p, 回车的后边提示您输入密码,输入12345,然后回车就可以进入到mysql中了,mysql的提示符是:

/usr/share/mysql(mysql.server命令及计划文件)

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

字段类型
1.INT[(M)] 型: 不奇怪尺寸整数类型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 平常尺寸(双Mini)浮点数字类型
三.DATE 日期类型:支持的限量是一千-0一-01到999玖-1二-31。MySQL以YYYY-MM-DD格式来显示DATE值,可是允许你接纳字符串或数字把值赋给DATE列
四.CHA宝马7系(M) 型:定长字符串类型,当存款和储蓄时,总是是用空格填满左边到钦赐的长短
伍.BLOB TEXT类型,最大尺寸为65535(2^1⑥-壹)个字符。
六.VAHavalCHALacrosse型:变长字符串类型
mysqldump 命令的行使

mysql>

连锁命令

二.出示全部的数据库命令:mysql> show databases (注意:最终有个s)

备份和导出数据库
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

瞩目,假使是连接受其它的机器上,则需要投入多个参数-h机器IP

/usr/bin(mysqladmin mysqldump等命令)

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

mysql 命令使用 将查询结果保存到文件
select title from book into outfile '/tmp/outfile.txt';
查找表中多余的重复记录,重复记录是依赖有些字段(peopleId)来推断
select * from people where peopleId in (select peopleId from people group by
peopleId having count(peopleId) > 1);
查询表中不重复记录(排除重复记录)
select * from phome_ecms_wma where title in (select distinct title from phome_ecms_wma);
删除表中重复记录,重复记录是依据有些字段(title)来判定
select *,count(distinct title) 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(100);
从表中删除1个字段
mysql> ALTER TABLE table_name DROP field_name;
重命名表
mysql>alter table t1 rename t2;
给字段加索引
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);
加主关键字的目录
mysql> alter table tablename add primary key(id);
加唯1限制标准的目录
mysql> alter table tablename add unique emp_name2(cardnumber);
除去某些索引
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;

其三招、增添新用户

启航脚本

肆.进去数据库命令:mysql> use <数据库名>

一、使用SHOW语句找寻在服务器上脚下设有哪些数据库
mysql> show databases;
贰、创造3个数据库MYSQLDATA
mysql> create database mydata;
三、采用你所创办的数据库
mysql> use mydata;
四、查看现在的数据库中存在什么表
mysql> show tables;
5、创设1个数据库表
mysql> create table mytable (name varchar(20), sex char(1));
陆、展现表的构造:
mysql> describe mytable;
7、往表中投入记录
mysql> insert into mytable values ("test","m");
八、用文件形式将数据装入数据库表中(举例 d:mysql.txt)
mysql> load data local infile "d:/mysql.txt" into table mytable;
九、导入.sql文件命令(举例 d:mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10、删除表
mysql>drop table mytable;
11、清空表
mysql>delete from mytable;
1二、更新表中多少
mysql>update mytable set sex="f" where name=test;

格式:grant 权限 on 数据库.* to 用户名@登6主机 identified by "密码"

/etc/init.d/mysql(运营脚本文件mysql的目录)

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

刚安装好的MySQL包括八个含空密码的root帐户和叁个无名氏帐户,这是异常的大的安全隐患,对于部分珍贵的使用大家应将安全性尽大概提升,在这里应把佚名帐户删除、root帐户设置密码,可用如下命令举办:

mysql> use mysql;
mysql> delete from User where User="";
mysql> update User set Password=PASSWORD(newpassword) where

如,扩充1个用户user一密码为password1,让其能够在本机上登入, 并对全部数据库有询问、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:

系统处理

陆.翻看当前采用的数据库命令:mysql> select database();

User=root;

grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

连接MySQL

七.当下数据库全体的表新闻命令:mysql> show tables (注意:最终有个s);

若果要对用户所用的报到终端进行限制,能够更新User表中相应用户的Host字段,在拓展了上述退换后应重新启航数据库服务,此时报到时可用如下类似命令:

shell> mysql -uroot -p;
shell> mysql -uroot -pnewpassword;
shell> mysql mydb -uroot -p;

假设愿意该用户能够在任何机器上登录mysql,则将localhost改为"%"。

格式: mysql -h 主机地址 -u用户名 -p用户密码

八.导出数据库命令:mysqldump  -h(域名)  -u(帐号)  -p(密码) 数据库名  >  本地路线 文件名; (注意:导出数据库前务必先要退出MySQL调控台。还应该有导出的文书后缀名一般都是接纳.sql)

shell> mysql mydb -uroot -pnewpassword;

地点命令参数是常用参数的壹部分,详细意况可仿效文书档案。此处的mydb是要登入的数据库的名称。

假诺您不想user1有密码,可以再打2个下令将密码去掉。

例 一:连接到本机上的 MySQL。

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

在进展支付和实在应用中,用户不该只用root用户展开连接数据库,就算采纳root用户进行测试时很方便,但会给系统带来主要安全隐患,也不便利管理本事的拉长。大家给贰个运用中央银行使的用户赋予最方便的数据库权限。如3个只举办多少插入的用户不应赋予其除去数据的权柄。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

grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

复制代码 代码如下:

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

identified by "password";

若要给此用户赋予他在对应对象上的权杖的管制力量,可在grant后边增多with grant

第5招: 操作数据库

hadoop@ubuntu:~$ mysql -uroot -pmysql;

1一.去除表命令:mysql> drop table student

option选项。而对于用插入User表增多的用户,Password字段应用password函数进行翻新加密,防止不轨之人窃看密码。对于那二个早已毫无的用户应予以清除,权限过界的用户应立即回收权限,回收权限可以由此更新User表相应字段,也得以选用revoke操作。以下是常用权限的解释:

大局处理权限
FILE:在MySQL服务器上读写文件。
PROCESS:展现或杀死属于别的用户的服务线程。
RELOAD:重载访问调整表,刷新日志等。
SHUTDOWN:关闭MySQL服务。
数据库/数据表/数据列权限
ALTESportage:修改已存在的数据表(比如扩展/删除列)和目录。
CREATE:塑造新的数据库或数据表。
DELETE:删除表的记录。
DROP:删除数据表或数据库。
INDEX:创立或删除索引。
INSERT:扩展表的记录。
SELECT:展现/找寻表的笔录。
UPDATE:修改表中已存在的笔录。
特别的权杖
ALL:允许做其它交事务(和root同样)。

报到到mysql中,然后在mysql的提醒符下运营下列命令,各个命令以分集团甘休。

例 二:连接到长途主机上的 MYSQL。

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

USAGE:只允许登6--其余什么也不允许做。

MySQL常用操作基本操作,以下都以MySQL伍.0下测试通过首先说明下,记住在每一个命令结束时抬高;(分号)
1.导出成套数据库
mysqldump -u 用户名 -p --default-character-set=latin一 数据库名 > 导出的公文名(数据库暗中同意编码是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
二.导出3个表
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
四.导入数据库
常用source 命令
进入mysql数据库调控台,
如mysql -u root -p
mysql>use 数据库
然后选取source命令,后边参数为脚本文件(如这里运用的.sql)
mysql>source d:wcnc_db.sql

1、 显示数据库列表。

复制代码 代码如下:

一三.翻新表命令:mysql> update student set `name`='小A' where `id`=1

您可能感兴趣的篇章:

  • mysql 常用命令综合[相对精粹]
  • mysql cmd常用命令
  • MySQL导入导出.sql文件及常用命令小结
  • MySQL 常用命令
  • MySQL数据库备份和苏醒的常用命令小结
  • mysql常用命令行操作语句
  • Mysql常用命令 详细整理版
  • MySQL操作数据库和表的常用命令新手教程
  • MySQL查看表和清空表的常用命令计算
  • mysql 维护常用命令
  • mysql常用命令汇总介绍

show databases;

hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql;

 

缺省有三个数据库:mysql和test。 mysql仓库储存放着mysql的类别和用户权限信息,大家改密码和新扩张用户,实际上正是对这一个库开始展览操作。

修改新密码

3、表操作,操作前必须一连某些数据库

二、 呈现库中的数据表:

在终极输入:mysql -u用户名 -p密码,回车进入Mysql。

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

use mysql;

> use mysql;
> update user set password=PASSWORD('新密码') where user='用户名';
> flush privileges; #更新权限
> quit; #退出

例如:

show tables;

扩展新用户

mysql> create table Student(

三、 显示数据表的布局:

格式:grant select on 数据库.* to 用户名@登入主机 identified by '密码'

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

describe 表名;

举例:

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

四、 建库与删库:

例 1:扩充三个用户 test一 密码为 abc,让她能够在其他主机上登入,并对持有数据库有
查询、插入、修改、删除的权限。首先用以 root 用户连入 MySQL,然后键入以下命令:

-> sex tinyint null default "1" comment '注释sex[男为1,女为2]',

create database 库名;

复制代码 代码如下:

->) engine = innoDB;

drop database 库名;

mysql>grant select,insert,update,delete on *.* to root@localhost identified by 'mysql';

2.获取表结构命令:desc <表名> 也许 show columns from <表名> 还只怕有 show create table <表名>

5、 建表:

或者

例如:

use 库名;

复制代码 代码如下:

mysql> desc Student

create table 表名(字段列表);

grant all privileges on *.* to root@localhost identified by 'mysql';

mysql> show columns from Student

drop table 表名;

然后刷新权限设置。

mysql> show create table Student

陆、 清空表中著录:

复制代码 代码如下:

叁.去除表命令:drop table <表名>

delete from 表名;

flush privileges;

例如:

七、 展现表中的记录:

例 贰:要是您不想 root 有密码操作数据库"mydb"里的数据表,能够再打一个指令将密码消掉。

mysql> drop table Student

select * from 表名;

复制代码 代码如下:

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

第伍招、导出和导入数据

grant select,insert,update,delete on mydb.* to root@localhost identified by '';

例如:

  1. 导出数据:

除去用户

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

mysqldump --opt test > mysql.test

hadoop@ubuntu:~$ mysql -u用户名 -p密码
mysql>delete from user where user='用户名' and host='localhost';
mysql>flush privileges;
//删除用户的数据库
mysql>drop database dbname;

伍.查询表中多少命令:select <字段一,字段二,...字段n> from <表名> where <条件>。恐怕 select * from <表名>

将在数据库test数据库导出到mysql.test文件,后者是三个文件文件

数据库操作

例如:

如:mysqldump -u root -p123456 --databases dbname > mysql.dbname

彰显全体的数据库

mysql> select * from Student

纵然把数据库dbname导出到文件mysql.dbname中。

复制代码 代码如下:

陆.删除表中多少命令:delete from <表名> where <条件>。可能delete from <表名>

  1. 导入数据:

mysql> show databases;

例如:

mysqlimport -u root -p123456 < mysql.dbname。

(注意:最后有个 s)

mysql> delete from Student

不用解释了呢。

创建数据库

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

  1. 将文件数据导入数据库:

复制代码 代码如下:

例如:

文本数据的字段数据里面用tab键隔开分离。

mysql> create database test;

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

use test;

连日来数据库

八.改变表名命令:rename table <旧的表名> to <新的表名>

load data local infile "文件名" into table 表名;

复制代码 代码如下:

例如:

1:使用SHOW语句寻找在服务器上近日留存如何数据库:

mysql> use test;

mysql> rename table Student to Class

mysql> SHOW DATABASES;

翻开当前选拔的数据库

9.用文件格局将数据装入数据库表中

2:二、创设叁个数据库MYSQLDATA

复制代码 代码如下:

例如:D:/mysql.txt

mysql> CREATE DATABASE MYSQLDATA;

mysql> select database();

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

三:选取你所开创的数据库

脚下数据库包含的表音讯

四、数据类型

mysql> USE MYSQLDATA; (按回车键出现Database changed 时表明操作成功!)

复制代码 代码如下:

一.字符串类型

肆:查看今后的数据库中留存什么表

mysql> show tables;

CHA纳瓦拉(M)型: 固定长度的字符串,最大尺寸为二五1陆个字节

mysql> SHOW TABLES;

(注意:最终有个 s)

VA奥德赛CHA牧马人(M)型: 可变长度,最多不超越65 53伍字节,如在创设刻钦定VA途达CHA昂Cora(n),则可存款和储蓄0~n个字节

5:创立3个数据库表

删去数据库

TINYTEXT型: 可变长度的字符串,帮助最大尺寸25三个字节

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

复制代码 代码如下:

TEXT型: 可变长度的字符串,援救最大尺寸陆五 伍三17个字节

六:突显表的构造:

mysql> drop database test;

MEDIUMTEXT型: 可变长度的字符串,援助最大尺寸1六 777 贰1多少个字节

mysql> DESCRIBE MYTABLE;

表操作

LONGTEXT型: 可变长度的字符串,支持最大尺寸肆 2九四 玖陆7 2玖多个字节

七:往表中投入记录

备注:操作从前运用"use <数据库名>"应连接有些数据库。

二.整型与浮点型    有标记[正负]                    无符号unsingn

mysql> insert into MYTABLE values ("hyq","M");

建表

TINYINT型:     -128 ~ 127                         0 ~ 255 (就是2的8次方-1)

8:用文件情势将数据装入数据库表中(举例D:/mysql.txt)

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

SMALLINT型:    -32768 ~ 32767                     0 ~ 65535 (就是2的16次方-1)

mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

例子:

MEDIUMINT型:   -8388608 ~ 8388607                  0 ~ 16777215 (就是2的24次方-1)

九:导入.sql文件命令(举例D:/mysql.sql)

mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default '0',
> degree double(16,2));

INT型:        -2147483648 ~ 2147483647              0 ~ 4294967296 (就是2的32次方-1)

mysql>use database;

赢得表结构

BIGINT型:      -9223372036854775808 ~ 9223372036854775807   0 ~ 18446744073709551615 (就是2的64次方-1)

mysql>source d:/mysql.sql;

命令: desc 表名,或者show columns from 表名

三.日期和岁月等级次序

10:删除表

例子:

DATE型: YYYY-MM-DD 格式表示的日期值 / 取值范围 一千-0一-0壹 ~ 9999-12-31

mysql>drop TABLE MYTABLE;

mysql> describe MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;

TIME型: hh:mm:ss 格式表示的年月值 / 取值范围 -838:5九:5玖-83捌:5玖:59

11:清空表

删除表

DATETIME型: YYYY-MM-DD hh:mm:ss 格式表示日期与时间 / 取值范围 1000-0壹-0一 00:00:00 ~ 9999-12-31

mysql>delete from MYTABLE;

命令:drop table <表名>

TIMESTAMP型: YYYYMMDDhhmmss 格式表示的时光戳 / 取值范围 一九陆八0十10七千一——2038011九13140七

12:更新表中多少

例如:删除表名称为 MyClass 的表

YEA奇骏型: YYYY 格式的年度 / 取值范围 1900~2155

mysql>update MYTABLE set sex="f" where name='hyq';

复制代码 代码如下:

5、字段约束

posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key

mysql> drop table MyClass;

作者们一味是概念了字段的数据类型还缺乏,大家还亟需一些增大的性质来约束依旧职业字段

一三:备份数据库

插入数据

UNSIGNED 只好用来安装数据类型,不容许出现负数,最大存款和储蓄长度会扩大壹倍,ZEROFILL 只可以用于安装数值类型,在数值此前自动用0补齐不足的位数,AUTO_INCREMENT 要是给某些数据表的3个卡尺头数目列定义可选的AUTO_INCREMENT属性,那么当用户向这些数额表插入一个新记录时,MySQL就能够自动地把这么些卡尺头数据列的日前最大取值加上一后头赋值给新记录中的这么些大背头字段; 使用AUTO_INCREMENT属性供给注意多少个难题: 这个性格必须与NOT NULL 、P凯雷德IMAQashqaiY KEY 或然 UNIQUE 属性同期选择; 各种数据表最五只可以有二个AUTO_INCREMENT数据列; MySQL的这种ID值自动生成机制只在用户选用INSERT命令插入新记录、并且未有为ID字段分明地付诸1个值或NULL时才起效果。假诺用户给出了一个切实可行的值并且那几个值在ID列里出现过,MySQL就将利用这么些ID值生成一条新记录;

mysqldump -u root 库名>xxx.data

命令:insert into <表名> [( <字段名 1>[,..<字段名 n > ])] values ( 值 1 )[, ( 值 n )]
例子:

NULL和NOT NULL 默以为NULL,即插入值时未尝在此字段插入值,默感觉NULL值,假诺钦定了NOT NULL,则必须在插入值时在此字段填入值 DEFAULT 可以由此此属性来内定三个暗许值,要是未有在此列加多值,那么暗许增多此值 主键(P奥德赛IMA奥迪Q3Y KEY) 能够唯1标志表中某壹行的品质或属性组。 3个表只好有3个主键,但足以有四个候选索引。主键日常与外键构成参照完整性约束,幸免出现数据不雷同。主键能够确认保障记录的独一无二和主键域非空,数据库管理种类对于主键自动生成唯一索引,所以主键也是三个非正规的目录。 外键(foreign key)是用于创立和巩固多少个表数据里面包车型客车链接的1列或多列。 外键约束首要用来保险多个表之间数据的1致性。简言之,表的外键正是另一表的主键,外键将两表联系起来。一般景观下,要删减一张表中的主键必须首先要确认保障别的表中的尚未同样外键(即该表中的主键未有3个外键和它相关联)

1四:例二:连接到长途主机上的MYSQL

复制代码 代码如下:

六、MySQL 运算符

只要远程主机的IP为:110.110.110.110,用户名称叫root,密码为abcd1二三。则键入以下命令:

mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

一.比较运算符

mysql -h110.110.110.110 -uroot -pabcd123

查询表中的数据

=   等于 
>   大于 
<   小于 
>=  大于等于 
<=  小于等于 
<>  不等于 
!>   不大于 
!<   不小于

(注:u与root能够不用加空格,别的也如出1辙)

查询全体行

%  相称自便三个字符

3、退出MYSQL命令: exit (回车)

复制代码 代码如下:

_   相配猖獗3个字符

 

mysql> select * from MyClass;

②.逻辑运算符

=====================================================================

询问前几行数据

AND  如若组合的基准都以 TRUE , 重返 TRUE

1:使用SHOW语句找寻在服务器上方今设有啥样数据库:
mysql> SHOW DATABASES;
二:二、创造三个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选取你所开创的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时表明操作成功!)
四:查看未来的数据库中留存哪些表
mysql> SHOW TABLES;
伍:创制3个数量库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:展现表的组织:
mysql> DESCRIBE MYTABLE;
7:往表中到场记录
mysql> insert into MYTABLE values ("hyq","M");
八:用文件格局将数据装入数据库表中(譬喻D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
玖:导入.sql文件命令(比方D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
1二:更新表中数量
mysql>update MYTABLE set sex="f" where name=hyq;

例如:查看表 MyClass 中前 2 行数据

O卡宴    假设结合的尺度其壹是 TRUE , 重返 TRUE

以下是潜意识中在互联网看到的接纳MySql的军管经验,
摘自: 
  
在windows中MySql以服务方式存在,在使用前应保证此服务业已运营,未运维可用net start mysql命令运转。而Linux中运转时可用“/etc/rc.d/init.d/mysqld start"命令,注意运转者应负有管理员权限。
刚安装好的MySql包罗三个含空密码的root帐户和3个无名帐户,那是非常大的安全隐患,对于有个别首要的利用大家应将安全性尽只怕升高,在这里应把无名帐户删除、 root帐户设置密码,可用如下命令进行:
use mysql;
delete from User where User="";
update User set Password=PASSWORD(newpassword) where User=root;
1经要对用户所用的登入终端实行限制,能够更新User表中相应用户的Host字段,在打开了上述改变后应重新启航数据库服务,此时报到时可用如下类似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上边命令参数是常用参数的一片段,详细意况可参照文书档案。此处的mydb是要登六的数据库的名号。
在开始展览支付和骨子里运用中,用户不该只用root用户张开接二连三数据库,就算选用root用户展开测试时很有利,但会给系统带来首要安全隐患,也不便宜管理技巧的滋长。大家给多少个用到中动用的用户赋予最方便的数据库权限。如叁个只举行数量插入的用户不应赋予其删除数据的权杖。MySql的用户管理是经过User表来兑现的,增加新用户常用的格局有两个,一是在User表插入相应的多寡行,同期安装相应的权能;二是经过GRANT命令创制具备某种权力的用户。当中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by "password" ;
grant usage on *.* to NewUserName@HostName identified by "password";
grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";
grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";
若要给此用户赋予他在相应对象上的权力的管住力量,可在GRANT前边增添WITH GRANT OPTION选项。而对于用插入User表增添的用户,Password字段应用PASSWO福睿斯D 函数实行更新加密,避防不轨之人窃看密码。对于那多少个曾经不用的用户应予以清除,权限过界的用户应马上回收权限,回收权限能够通过更新User表相应字段,也得以行使REVOKE操作。
上面给出自身从其它材质(www.cn-java.com)获得的对常用权力的解释:
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 呈现或杀死属于其余用户的劳务线程。
RELOAD: 重载访问调节表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTE昂Cora: 修改已存在的数据表(举个例子扩展/删除列)和目录。
CREATE: 创设新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建设构造或删除索引。
INSERT: 扩大表的记录。
SELECT: 展现/寻找表的笔录。
UPDATE: 修改表中已存在的笔录。
专程的权位:
ALL: 允许做任何事(和root同样)。
USAGE: 只允许登6--此外什么也不允许做。

复制代码 代码如下:

NOT  若是条件是 FALSE , 重临 TRUE

 

mysql> select * from MyClass order by id limit 0,2;

七、集中函数

常用MYSQL命令 
启动:net start mySql; 
  进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 
  列出数据库:show databases; 
  选用数据库:use databaseName; 
  列出表格:show tables; 
  创设数据表:mysql> CREATE TABLE mytable (name VA福特ExplorerCHATiguan(20), sex CHA宝马7系(一), 
-> birth DATE, birthaddr VARCHAR(20)); 
    显示表格列的脾气:show columns from tableName; 
    修改表的组织:DESC猎豹CS陆IBE mytable; 
  创设数据库:source fileName.txt; 
  匹配字符:能够用通配符_表示任何二个字符,%代表任何字符串; 
  扩展3个字段:alter table tabelName add column 田野Name dateType; 
  扩展三个字段:alter table tabelName add column 田野(field)Name一dateType,add columns 田野先生Name2 dateType; 
  多行命令输入:注意不可能将单词断开;当插入或转移数据时,不能够将字段的字符串张开到多行里,不然硬回车将被贮存到数码中; 
  增加三个大班帐户:grant all on *.* to user@localhost identified by "password"; 
  每条语句输入完成后要在终极填加分号';',或许填加'g'也可以; 
  查询时间:select now(); 
  查询当前用户:select user(); 
  查询数据库版本:select version(); 
  查询当前使用的数据库:select database(); 
   
    用文件格局将数据装入1个数据库表 

或者

SUM ( ) 求和 
AVG ( ) 平均值 
COUNT ( ) 表明式中记录的数目 
COUNT (* ) 计算记录的数目 
MAX 最大值 
MIN 最小值 
VAR 方差 
STDEV 规范固有误差 
FIEvoqueST 第壹个值 
LAST 最终叁个值

  如若一条一条地输入,很辛勤。大家得以用文件文件的主意将具有记录进入你的数据库表中。成立1个文书文件“mysql.txt”,每行包括四个记下,用定位符(tab)把值分开,并且以在CREATE TABLE语句中列出的列次序给出,比如: 

复制代码 代码如下:

八、查询字句

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

mysql> select * from MyClass limit 0,2;

1.用OCR-VDE途胜 BY子句排序结果(ASC表示升序,为私下认可值,DESC为降序)

  使用下边发号施令将文件文件“mytable.txt”装载到mytable表中:mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; 

剔除表中数据

O宝马7系DE福睿斯子句按二个或八个(最多十六个)字段排序查询结果,能够是升序(ASC)也得以是降序(DESC),缺省是升序

  再利用如下命令看看是还是不是已将数据输入到数据库表中:mysql> select * from mytable; 
(e129)    
  1、删除student_course数据库中的students数据表: 
  rm -f student_course/students.* 
   
  二、备份数据库:(将数据库test备份) 
  mysqldump -u root -p test>c:test.txt 
  备份表格:(备份test数据库下的mytable表格) 
  mysqldump -u root -p test mytable>c:test.txt 
  将备份数据导入到数据库:(导回test数据库) 
  mysql -u root -p test<c:test.txt 
   
  叁、创造有的时候表:(建构一时表zengchao) 
  create temporary table zengchao(name varchar(10)); 
   
  四、创造表是先推断表是还是不是存在 
  create table if not exists students(……); 
   
  5、从曾经部分表中复制表的结构 
  create table table2 select * from table1 where 1<>1; 
   
  6、复制表 
  create table table2 select * from table1; 
   
  柒、对表重新命名 
  alter table table1 rename as table2; 
   
  八、修改列的体系 
  alter table table一 modify id int unsigned;//修改列id的类型为int unsigned 
  alter table table一 change id sid int unsigned;//修改列id的名为sid,而且把品质修改为int unsigned 
   
  玖、创制索引 
  alter table table1 add index ind_id (id); 
  create index ind_id on table1 (id); 
  create unique index ind_id on table1 (id);//建立唯一性索引 
   
  十、删除索引 
  drop index idx_id on table1; 
  alter table table1 drop index ind_id; 
   
  1壹、联合字符也许五个列(将列id与":"和列name和"="连接) 
  select concat(id,':',name,'=') from students; 
   
  12、limit(选出十到20条)<第壹个记录集的号码是0> 
  select * from students order by id limit 9,10; 
   
  1三、MySQL不支持的功效 
  事务,视图,外键和引用完整性,存款和储蓄进程和触发器 
   
   
  1四、MySQL会利用索引的操作符号 
  <,<=,>=,>,=,between,in,不带%或者_开头的like 
   
  一伍、使用索引的缺点 
  一)减慢增删改数据的快慢; 
  二)占用磁盘空间; 
  三)增添查询优化器的承受; 
  当查问优化器生成实践安立即,会设想索引,太多的索引会给查询优化器增添专门的学问量,导致力不从心取舍最优的查询方案; 
   
  1陆、深入分析索引成效 
  方法:在相似的SQL语句前加上explain; 
  深入分析结果的意义: 
  1)table:表名; 
  贰)type:连接的系列,(ALL/Range/Ref)。当中ref是最精美的; 
  3)possible_keys:查询可以行使的索引名; 
  4)key:实际行使的目录; 
  5)key_len:索引中被利用部分的长度(字节); 
  陆)ref:突显列名字可能"const"(不掌握如何看头); 
  7)rows:展现MySQL感觉在找到精确结果此前必须扫描的行数; 
  8)extra:MySQL的建议; 
   
  1七、使用相当的短的定长列 
  1)尽大概选择十分的短的数据类型; 
  二)尽只怕使用定长数据类型; 
  a)用char代替varchar,固定长度的多寡管理比变长的快些; 
  b)对于频繁修改的表,磁盘轻松产生碎片,从而影响数据库的完好质量; 
  c)万壹出现数量表崩溃,使用固定长度数据行的表更便于重新布局。使用固定长度的数码行,各样记录的起先地方都以永世记录长度的翻番,能够很轻易被检查测试到,但是利用可变长度的数据行就不显明了; 
  d)对于MyISAM类型的数据表,即便转变到固定长度的数据列能够进步性能,然而占用的上空也大; 
   
  18、使用not null和enum 
  尽量将列定义为not null,那样可使数据的出来越来越快,所需的长空越来越少,而且在查询时,MySQL不须要检查是不是留存特例,即null值,从而优化查询; 
  假诺一列只含有一定量数量的一定值,如性别,是或不是可行大概入学年份等,在这种景色下应当考虑将其转移为enum列的值,MySQL管理的越来越快,因为具有的enum值在系统内都以以标志数值来表示的; 
   
  19、使用optimize table 
  对于平日修改的表,轻松生出碎片,使在查询数据库时务必读取越来越多的磁盘块,下跌查询品质。具备可变长的表都存在磁盘碎片难题,这一个标题对blob数据类型更为出色,因为其尺寸变化不小。可以经过行使optimize table来整治碎片,保险数据库品质不降低,优化那多少个受碎片影响的数据表。 optimize table可以用来MyISAM和BDB类型的数据表。实际上任何碎片整理方法皆以用mysqldump来转存数据表,然后利用转存后的文书并再一次建数据表; 
   
  20、使用procedure analyse() 
  能够接纳procedure analyse()展现最好类型的提议,使用相当粗略,在select语句前边加上procedure analyse()就足以了;举个例子: 
  select * from students procedure analyse(); 
  select * from students procedure analyse(16,256); 
  第1条语句须要procedure analyse()不要建议含有多于15个值,或许含有多于25陆字节的enum类型,如若未有界定,输出恐怕会很短; 
   
  2一、使用查询缓存 
  1)查询缓存的办事方法: 
  第3遍施行某条select语句时,服务器记住该查询的文本内容和询问结果,存款和储蓄在缓存中,后一次遇见那么些讲话时,直接从缓存中回到结果;当更新数据表后,该数据表的别的缓存查询都改成无效的,并且会被放任。 
  贰)配置缓存参数: 
  变量:query_cache _type,查询缓存的操作格局。有3中格局,0:不缓存;1:缓存查询,除非与select sql_no_cache开始;二:依据供给只缓存那些以select sql_cache早先的查询;query_cache_size:设置查询缓存的最大结果集的大大小小,比这一个值大的不会被缓存。 
   
  22、调节硬件 
  壹)在机器上装越来越多的内部存款和储蓄器; 
  贰)扩展越来越快的硬盘以压缩I/O等待时间; 
  寻道时间是调整性能的重大因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则十分的快; 
  叁)在差别的大要硬盘设备上海重机厂新分配磁盘活动; 
  假设恐怕,应将最劳苦的数据仓库储存放在差别的物理设备上,那跟使用同1物理设备的区别分区是例外的,因为它们将争用同样的情理财富(磁头)。

命令:delete from 表名 where 表达式

O汉兰达DEPRADO子句平常位于SQL语句的最终

1、启动MySQL服务器 
   
 三种格局: 一是用winmysqladmin,假如机器运营时已自行运维,则可直接进去下一步操作。 二是在DOS方式下运维 d:mysqlbinmysqld 
 (假设mysql 安装在d:mysql);当然也足以 net start mysql命令运维。而Linux中运行时可用“/etc/rc.d/init.d/mysqld start”命令,注 意运行者应有所管理员权限。 
  
二、进入mysql交互操作分界面 
   
  在DOS方式下,运行: d:mysqlbinmysql 
  出现: mysql 的提示符” mysql> “,此时已进入mysql的相互操作办法。 
  假如出现 “EPAJERORO奥迪Q伍 200三: Can′t connect to MySQL server on ′localhost′ (十0陆壹)“,表明您的MySQL还尚未运转。 
   
3、退出MySQL操作分界面 
   
  在mysql>提醒符下输入quit能够随时退出交互操作分界面:   
  mysql> quit 
  Bye 
   
  
四、第三条命令(多条命令用 “,” 分隔 ,一条命令能够分为多行输入,直到出现分号”;”截止 
   
  mysql> select version(),current_date(); 
  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) 

比方说:删除表 MyClass 中编号为 一 的记录

OLX570DE奥德赛子句中定义了多个字段,则遵照字段的先后顺序排序

5、常用sql 语句 

复制代码 代码如下:

例如:对学生的年纪实行排序

一:使用SHOW语句寻觅在服务器上目前存在什么样数据库: 
mysql> SHOW DATABASES; 
贰:二、创立多个数据库MYSQLDATA 
mysql> Create DATABASE MYSQLDATA; 
3:选取你所创立的数据库 
mysql> USE MYSQLDATA; (按回车键出现Database changed 时表达操作成功!) 
4:查看今后的数据库中设有哪些表 
mysql> SHOW TABLES; 
五:创立二个数据库表 
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 
6:呈现表的构造: 
mysql> DESCRIBE MYTABLE; 
七:往表中插足记录 
mysql> insert into MYTABLE values (”hyq”,”M”); 
八:用文件情势将数据装入数据库表中(举个例子D:/mysql.txt) 
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE; 
九:导入.sql文件命令(譬喻D:/mysql.sql) 
mysql>use database; 
mysql>source d:/mysql.sql; 
10:删除表 
mysql>drop TABLE MYTABLE; 
11:清空表 
mysql>delete from MYTABLE; 
1二:更新表中数据 
mysql>update MYTABLE set sex=”f” where name=’hyq’; 
一3:插入数据 
mysq>linsert into MYTABLE values (1, ‘第二章’, 0×2134545); 
14:登陆后选用数据库 mysql 
mysql -u root -p mysql 
mysql -u root -p -h 11.11.11.11 database 
一5:mysql jdbc连接url 使用普通话 
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312 

mysql> delete from MyClass where id=1;

SELECT * FROM student ORDER BY age DESC;

[separator] 

修改表中多少

2.LIMIT 子句对查询出的结果做限定,往往大家不想三次抽取全数的多寡

其它: 
show processlist;列出每一笔联机的新闻。 
show varlables;列出mysql的系统设定。 
show tables from db_name;列出db_name中具备数据表; 
show [full] columns from table_name;列出table_name中总体音讯,如栏名、类型,包含字符集编码。 
show index from table_name; 列出table_name中兼有的目录。 
show table status;;列出当前数据库中数据表的音讯。 
show table status from db_name;;列出当前db_name中数据表的音讯。 
alter table table_name engine innodb|myisam|memory ;退换表类型 
explain table_name / describe table_name ; 列出table_name完整讯息,如栏名、类型。 
show create table table_name 显示当前表的建表语句 
alter table table_name add primary key (picid) ; 向表中加进二个主键 
alter table table_name add column userid int after picid 修改表结构扩充3个新的字段 
alter table table_name character set gb2312 更改表的编码 
select user(); 突显当前用户。 
select password(’root’); 呈现当前用户密码 
select now(); 展现当前些天期 
flush privileges 在不重启的意况下刷新用户权限 
mysqld –default-character-set=gb231二 ;设置私下认可字符集为gb231二 

命令:update 表名 set 字段=新值,... where 条件

LIMIT有八个参数: 3个参数、表示收获行数! 八个参数、第一个参数表示从第几行去,第壹个参数表示取多少行

6、安全 

复制代码 代码如下:

三.LEFT JOIN  ON 连表查询

刚安装好的MySql包罗3个含空密码的root帐户和一个无名氏帐户,这是不小的安全隐患,对于一些要害的选拔大家应将安全性尽大概提升,在此地应把无名帐户删除、 root帐户设置密码,可用如下命令进行: 

mysql> update MyClass set name='Mary' where id=1;

连表查询有三种艺术,分别是:左连和右连还会有内连

use mysql; 
delete from User where User=”"; 
update User set Password=PASSWORD(’newpassword’) where User=’root’; 

在表中增添字段

左连:  以左手的主表为主,如若主表未有数量,则不会回来结果,即正是从表有数据
left join `表名` on 连表条件

改完重启 mysql 技巧生效. 

命令:alter table 表名 add 字段 类型 其他;

右连: 以右边的从表为主,若是从表未有数量,则不会再次来到结果,固然是主表有数据
right join `表名` on 连表条件

地方命令参数是常用参数的一局地,详细情状可参看文书档案。此处的mydb是要登入的数据库的称谓。 
在展花费付和骨子里使用中,用户不应该只用root用户进行连接数据库,尽管应用root用户展开测试时很便宜,但会给系统带来重大安全隐患,也不便利管理工夫的增长。我们给1个选用中动用的用户赋予最适当的数据库权限。如二个只举行多少插入的用户不应赋予其除去数据的权力。MySql的用户处理是由此User表来贯彻的,增多新用户常用的章程有三个,壹是在User表插入相应的数量行,同不平日间设置相应的权力;二是通过GRANT命令创立具备某种权力的用户。在那之中GRANT的常用用法如下: 

例如:在表 MyClass 中增添了贰个字段 passtest,类型为 int(四),暗中同意值为 0

内连: 以两张表为主,必须两张表都有多少的动静,才会回到结果。
inner join `表名` on 连表条件

grant all on mydb.* to NewUserName@HostName identified by “password” ; 
grant usage on *.* to NewUserName@HostName identified by “password”; 
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”; 
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”; 
grant all privileges on *.* to root@localhost 
grant select,insert,delete,update,alter,create,drop on lybbs.* to NewUserName@”%” identified by “lybbs”; 

复制代码 代码如下:

九、MySQL的函数

若要给此用户赋予他在相应对象上的权位的军管技术,可在GRANT前边增添WITH GRANT OPTION选项。而对此用插入User表增加的用户,Password字段应用PASSWO科雷傲D 函数举行翻新加密,以免不轨之人窃看密码。对于那个已经毫无的用户应给予清除,权限过界的用户应及时回收权限,回收权限能够经过更新User表相应字段,也足以利用REVOKE操作。 

mysql> alter table MyClass add passtest int(4) default '0'

mysqli_connect 连接数据库,参数是 访问地址、账号、密码、数据库名

全局处理权限: 
FILE: 在MySQL服务器上读写文件。 
PROCESS: 彰显或杀死属于其余用户的劳动线程。 
RELOAD: 重载访问调整表,刷新日志等。 
SHUTDOWN: 关闭MySQL服务。 
数据库/数据表/数据列权限: 
Alter: 修改已存在的数据表(比方扩展/删除列)和目录。 
Create: 建立新的数据库或数据表。 
Delete: 删除表的笔录。 
Drop: 删除数据表或数据库。 
INDEX: 构建或删除索引。 
Insert: 扩展表的记录。 
Select: 彰显/寻觅表的笔录。 
Update: 修改表中已存在的笔录。 
特意的权杖: 
ALL: 允许做其余事(和root同样)。 
USAGE: 只同意登入–其余什么也不允许做。 

更动表名

mysqi_connect_errno 重回数据库连接的错误状态码

修改默许密码: 
cd d:mysqlbin 
mysqladmin -u root -p password 123456 
回车出现 
Enter password: ( 注:那是叫您输入原密码. 刚安装时密码为空,所以一直回车就能够) 
此刻mysql 中账号 root 的密码 被改为 12345陆 安装收尾

命令:rename table 原表名 to 新表名;

mysqli_connect_error 再次回到数据库连接的错误音信

       一、引言 

举个例子:在表 MyClass 名字改成为 YouClass

mysqli_close 关闭数据库连接,参数是数据库连接

   想使用Linux已经十分短日子了,由于尚未硬性任务一贯也从不系统学习,近期由于专业必要必须利用Linux下的MySQL。本感到有Windows下行使SQL Server的经验,感觉在Linux下安装MySql应该是探囊取物的事,可在真的安装和动用MySQL时走了大多弯路,遇见多数主题材料,毕竟Linux和Windows自个儿就有十分大分别。为了让和自个儿一样的初学者在念书的历程中少走弯路,尽快入门,写了此文,希望对你具备帮衬。本文的Linux境况是Red Hat 九.0,MySQL是四.0.1陆。 

复制代码 代码如下:

mysqli_query 对数据库实施一回sql语句的施行

   二、安装Mysql 

mysql> rename table MyClass to YouClass;

mysqli_num_rows 获得结果聚集央银行的数码

   1、下载MySQL的安装文件 
   安装MySQL要求上面七个文件: 
   MySQL-server-4.0.16-0.i386.rpm    
   MySQL-client-4.0.16-0.i386.rpm 
   下载地址为: 打开此网页,下拉网页找到“Linux x八六 RPM downloads”项,找到“Server”和“Client programs”项,下载须求的上述七个rpm文件。 

革新字段内容

mysqli_fetch_array 从结果聚集获得壹行作为涉及数组,或数字数组,或2者兼有,第2个参数 索引数组MYSQLI_NUM 关联数组 MYSQLI_ASSOC 两个皆有MYSQLI_BOTH

   2、安装MySQL 
   rpm文件是Red Hat集团开销的软件安装包,rpm可让Linux在安装软件包时免除大多犬牙相错的步调。该命令在设置时常用的参数是 –ivh ,个中i表示将设置钦定的rmp软件包,V表示安装时的详细消息,h表示在安装期间出现“#”符号来彰显方今的装置进程。这么些标识将随地到安装达成后才打住。 
   一)安装服务器端 
   在有五个rmp文件的目录下运行如下命令: 
   [root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm 
   呈现如下音讯。 
    warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 
   Preparing...       ########################################### [100%] 
   1:MySQL-server     ########################################### [100%] 
    。。。。。。(省略展现) 
   /usr/bin/mysqladmin -u root password 'new-password' 
   /usr/bin/mysqladmin -u root -h test1 password 'new-password' 
    。。。。。。(省略显示) 
   Starting mysqld daemon with databases from /var/lib/mysql 
   如出现如上音信,服务端安装收尾。测试是否成功可运营netstat看Mysql端口是还是不是张开,如打开表示服务1度运转,安装成功。Mysql默许的端口是330陆。 
   [root@test1 local]# netstat -nat 
   Active Internet connections (servers and established) 
   Proto Recv-Q Send-Q Local Address      Foreign Address     State    
   tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN    
   上边呈现能够看来MySQL服务业已运维。 
   贰)安装客户端 
   运维如下命令: 
   [root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm 
   warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 
   Preparing...    ########################################### [100%] 
   1:MySQL-client  ########################################### [100%] 
   突显安装落成。 
   用下边包车型地铁下令连接mysql,测试是不是中标。 
  三、登录MySQL 

命令:update 表名 set 字段名 = 新内容

mysqli_fetch_assoc 从结果聚集获得一行作为关周详组

   登六MySQL的授命是mysql, mysql 的使用语法如下: 
   mysql [-u username] [-h host] [-p[password]] [dbname] 
   username 与 password 分别是 MySQL 的用户名与密码,mysql的发轫管理帐号是root,未有密码,注意:那么些root用户不是Linux的连串用户。MySQL暗许用户是root,由于初步未有密码,第一遍进时只需键入mysql就可以。 
   [root@test1 local]# mysql 
   Welcome to the MySQL monitor. Commands end with ; or g. 
   Your MySQL connection id is 1 to server version: 4.0.16-standard 
   Type 'help;' or 'h' for help. Type 'c' to clear the buffer. 
   mysql> 
   出现了“mysql>”提醒符,恭喜您,安装成功! 
   增加了密码后的报到格式如下: 
   mysql -u root -p 
   Enter password: (输入密码) 
   在那之中-u后跟的是用户名,-p供给输入密码,回车的后边在输入密码处输入密码。 

update 表名 set 字段名 = replace(字段名, '旧内容', '新内容');

mysqli_fetch_row 从结果集中取得1行作为枚举数组

   注意:那么些mysql文件在/usr/bin目录下,与前边讲的起步文件/etc/init.d/mysql不是3个文件。 

诸如:文章前面参预 4 个空格

mysqli_fetch_object 从结果集中获得一行作为对象

   4、MySQL的几个非常重要目录 

复制代码 代码如下:

mysqli_free_result 释放结果内部存储器

   MySQL安装实现后不象SQL Server暗中同意安装在2个索引,它的数据库文件、配置文件和下令文件分别在不一样的目录,领会那几个目录非常关键,特别对于Linux的初学者,因为Linux本人的目录结构就相比复杂,要是搞不清楚MySQL的装置目录这就未能谈起浓密学习。 

update article set content=concat('    ', content);

十、事务

   上边就介绍一下这多少个目录。 

数据库导入导出

事情是内需在同二个管理单元中推行的1多级更新管理的联谊。通过应用职业,能够对数据库中的数据库中的数据库更新管理的交付和撤除进行田间管理。事务管理的休息指令包涵COMMIT(提交管理) 和ROLLBACK(撤消管理)三种。 DBMS的事务有着原子性(Atomicity)、1致性(Consistency)、隔绝性(Isolation)和持久性(Durability)两种特色。平日将那多样性情的首字母结合起来,统称为ACID性格。

   一、数据库目录 
   /var/lib/mysql/ 

从数据库导出数据库文件

例:给A君减10元,给B君加10元。 START TRANSACTION; UPDATE user SET money=money-10 WHERE name = 'A君'; UPDATE user SET money=money 10 WHERE name = 'B君'; COMMIT;

   2、配置文件 
   /usr/share/mysql(mysql.server命令及布局文件) 

使用"mysqldump"命令

 

   三、相关命令 
   /usr/bin(mysqladmin mysqldump等命令) 

第贰进入 DOS 分界面,然后开始展览下边操作。

(注)、以下是在互联网看到采纳MySQL的有些管制经验

   4、运营脚本 
   /etc/rc.d/init.d/(运营脚本文件mysql的目录) 
  五、修改登入密码 

1)导出全体数据库

在windows中MySql以服务格局存在,在使用前应确认保证此服务一度起步,未运维可用net start mysql命令运维。而Linux中运转时可用“/etc/rc.d/init.d/mysqld start"命令,注意运行者应持有管理员权限。
刚安装好的MySql包罗三个含空密码的root帐户和二个无名帐户,那是十分的大的安全隐患,对于有些入眼的利用我们应将安全性尽可能升高,在那边应把无名帐户删除、 root帐户设置密码,可用如下命令举办:
use mysql;
delete from User where User="";
update User set Password=PASSWORD('newpassword') where User='root';
若果要对用户所用的记名终端实行界定,能够更新User表中相应用户的Host字段,在进展了上述改换后应重新启航数据库服务,此时报到时可用如下类似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上边命令参数是常用参数的一片段,详细景况可参照文书档案。此处的mydb是要登⑥的数据库的名称。
在举办开荒和骨子里使用中,用户不应该只用root用户张开连接数据库,纵然应用root用户张开测试时很有利,但会给系统带来重大安全隐患,也不便利管理技能的抓好。大家给三个使用中动用的用户赋予最适度的数据库权限。如一个只实行数量插入的用户不应赋予其除去数据的权限。MySql的用户管理是因而User表来兑现的,增添新用户常用的方法有八个,壹是在User表插入相应的数据行,同不平日间设置相应的权力;贰是经过GRANT命令创造具备某种权力的用户。个中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by "password" ;
grant usage on *.* to NewUserName@HostName identified by "password";
grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";
grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";
若要给此用户赋予他在对应对象上的权柄的管理工科夫,可在GRANT前面增添WITH GRANT OPTION选项。而对于用插入User表增多的用户,Password字段应用PASSWO普拉多D 函数举行更新加密,防止不轨之人窃看密码。对于那个早已不用的用户应予以清除,权限过界的用户应即时回收权限,回收权限能够通过更新User表相应字段,也得以行使REVOKE操作。
上面给出本人从别的质感(www.cn-java.com)获得的对常用权力的演说:
大局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 彰显或杀死属于别的用户的劳动线程。
RELOAD: 重载访问调整表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(譬喻扩展/删除列)和目录。
Create: 组建新的数据库或数据表。
Delete: 删除表的笔录。
Drop: 删除数据表或数据库。
INDEX: 创立或删除索引。
Insert: 扩张表的笔录。
Select: 彰显/寻觅表的笔录。
Update: 修改表中已存在的笔录。
特意的权力:
ALL: 允许做其它交事务(和root同样)。
USAGE: 只同意登入--别的什么也不容许做。

   MySQL暗许没有密码,安装收尾扩充密码的最首倘诺门到户说的。 

格式:mysqldump -u [数据库用户名] -p -A>[备份文件的保留路线]

贰个小小操作手艺:

   1、命令 
   usr/bin/mysqladmin -u root password 'new-password' 
   格式:mysqladmin -u用户名 -p旧密码 password 新密码 

二)导出数据和数据结构

  假若你在打命令时,回车的前面发觉忘记加上得了分号了,你不要重新打贰遍命令,只要打个分局回车就足以了。也正是说你可以把2个完好无缺的指令分成几行来打,完后用分号作了结标记就OK了

   2、例子 
   例一:给root加个密码12345陆。 
   键入以下命令 : 
   [root@test1 local]# /usr/bin/mysqladmin -u root password 123456 
   注:因为开首时root未有密码,所以-p旧密码一项就能够省略了。 

格式:mysqldump -u [数据库用户名] -p [要备份的数据库名称]>[备份文件的保存路线]

   三、测试是或不是修改成功 
   1)不用密码登六 
   [root@test1 local]# mysql 
   ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) 
   呈现错误,表达密码已经修改。 
   二)用修改后的密码登入 
   [root@test1 local]# mysql -u root -p 
   Enter password: (输入修改后的密码12345陆) 
   Welcome to the MySQL monitor. Commands end with ; or g. 
   Your MySQL connection id is 4 to server version: 4.0.16-standard 
   Type 'help;' or 'h' for help. Type 'c' to clear the buffer. 
   mysql> 
   成功! 
   那是经过mysqladmin命令修改口令,也可透过修改库来更动口令。 

举例:

   陆、运行与甘休 

例 一:将数据库 mydb 导出到 e:MySQLmydb.sql 文件中。

   1、启动 
   MySQL安装完毕后开发银行文件mysql在/etc/init.d目录下,在必要运行时运营下边发号施令就能够。 
   [root@test1 init.d]# /etc/init.d/mysql start 

开垦初始->运维->输入"cmd",进入命令行格局。

   2、停止 
   /usr/bin/mysqladmin -u root -p shutdown 

复制代码 代码如下:

   三、自动运转 
   1)察看mysql是还是不是在机动运维列表中 
   [root@test1 local]# /sbin/chkconfig –list 
   二)把MySQL加多到你系统的起步服务组里面去 
   [root@test1 local]# /sbin/chkconfig – add mysql 
   3)把MySQL从起步服务组里面删除。 
   [root@test1 local]# /sbin/chkconfig – del mysql 
七、更改MySQL目录 

c:> mysqldump -h localhost -u root -p mydb >e:MySQLmydb.sql

   MySQL暗许的数据文件存款和储蓄目录为/var/lib/mysql。假设要把目录移到/home/data下需求张开上面几步: 

下一场输入密码,等待1会导出就水到渠成了,能够到目的文件中反省是或不是成功。

   一、home目录下树立data目录 
   cd /home 
   mkdir data 

例 2:将数据库 mydb 中的 mytable 导出到 e:MySQLmytable.sql 文件中。

   2、把MySQL服务进程停掉: 
   mysqladmin -u root -p shutdown 

复制代码 代码如下:

   三、把/var/lib/mysql整个目录移到/home/data 
   mv /var/lib/mysql /home/data/ 
   那样就把MySQL的数据文件移动到了/home/data/mysql下 

c:> mysqldump -h localhost -u root -p mydb mytable>e:MySQLmytable.sql

   4、找到my.cnf配置文件 
   要是/etc/目录下未有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝个中2个到/etc/并更名称叫my.cnf)中。命令如下: 
   [root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 

例 3:将数据库 mydb 的构造导出到 e:MySQLmydb_stru.sql 文件中。

   5、编辑MySQL的布置文件/etc/my.cnf 
   为力保MySQL能够健康干活,供给指明mysql.sock文件的产生地方。 修改socket=/var/lib/mysql/mysql.sock壹行中等号左侧的值为:/home/mysql/mysql.sock 。操作如下: 
   vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之) 
   # The MySQL server 
    [mysqld] 
    port   = 3306 
    #socket  = /var/lib/mysql/mysql.sock(原内容,为了更妥当用“#”注释此行) 
    socket  = /home/data/mysql/mysql.sock   (加上此行) 

复制代码 代码如下:

   6、修改MySQL运转脚本/etc/rc.d/init.d/mysql 
   最终,供给修改MySQL运行脚本/etc/rc.d/init.d/mysql,把里面datadir=/var/lib/mysql一行中,等号左边的门路改成你以往的骨子里存放路线:home/data/mysql。 
   [root@test1 etc]# vi /etc/rc.d/init.d/mysql 
   #datadir=/var/lib/mysql    (注释此行) 
   datadir=/home/data/mysql   (加上此行) 

c:> mysqldump -h localhost -u root -p mydb --add-drop-table >e:MySQLmydb_stru.sql

   7、重新启航MySQL服务 
   /etc/rc.d/init.d/mysql start 
   或用reboot命令重启Linux 
   要是工作健康活动就马到成功了,不然对照后面包车型地铁七步再检查一下。 

备考:-h localhost 能够简轻易单,其貌似在虚拟主机上用。

   捌、MySQL的常用操作 

三)只导出多少不导出数据结构

   注意:MySQL中各种命令后都要以分号;结尾。 

格式:

   1、展现数据库 
   mysql> show databases; 
   ----------  
   | Database | 
   ----------  
   | mysql  | 
   | test   | 
   ----------  
   2 rows in set (0.04 sec) 
   Mysql刚安装完有三个数据库:mysql和test。mysql库极度重大,它里面有MySQL的序列消息,大家改密码和新扩充用户,实际上就是用这一个库中的相关表张开操作。 

mysqldump -u [数据库用户名] -p -t [要备份的数据库名称]>[备份文件的保留路线]

   二、呈现数据库中的表 
   mysql> use mysql; (张开库,对每一个库开始展览操作将在张开此库,类似于foxpro ) 
   Database changed 

4)导出数据库中的伊芙nts

   mysql> show tables; 
   -----------------  
   | Tables_in_mysql | 
   -----------------  
   | columns_priv  | 
   | db       | 
   | func      | 
   | host      | 
   | tables_priv   | 
   | user      | 
   -----------------  
   6 rows in set (0.01 sec) 

格式:

   三、展现数据表的布局: 
   describe 表名; 

mysqldump -u [数据库用户名] -p -E [数据库用户名]>[备份文件的保存路线]

   四、展现表中的笔录: 
   select * from 表名; 
   举例:展现mysql库中user表中的纪录。全数能对MySQL用户操作的用户都在此表中。 
   Select * from user; 

5)导出数据库中的存款和储蓄进度和函数

   5、建库: 
   create database 库名; 
   比方:创制八个名字位aaa的库 
   mysql> create databases aaa; 
6、建表: 
   use 库名; 
   create table 表名 (字段设定列表); 
   比方:在刚创造的aaa库中确立表name,表中有id(序号,自动增进),xm(姓名),xb(性别),csny(出身年月)八个字段 
   use aaa; 
   mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date); 
   能够用describe命令察看刚创造的表结构。 
   mysql> describe name; 

格式:

   ------- --------- ------ ----- --------- ----------------  
   | Field | Type  | Null | Key | Default | Extra     | 
   ------- --------- ------ ----- --------- ----------------  
   | id  | int(3) |   | PRI | NULL  | auto_increment | 
   | xm  | char(8) | YES |   | NULL  |        | 
   | xb  | char(2) | YES |   | NULL  |        | 
   | csny | date  | YES |   | NULL  |        | 
   ------- --------- ------ ----- --------- ----------------  

mysqldump -u [数据库用户名] -p -R [数据库用户名]>[备份文件的保存路线]

   柒、扩展记录 
   比方:扩充几条有关记录。 
   mysql> insert into name values('','张三','男','1971-10-01'); 
   mysql> insert into name values('','白云','女','1972-05-20'); 
   可用select命令来验证结果。 
   mysql> select * from name; 
   ---- ------ ------ ------------  
   | id | xm  | xb  | csny    | 
   ---- ------ ------ ------------  
   | 1 | 张三 | 男  | 1971-10-01 | 
   | 2 | 白云 | 女  | 1972-05-20 | 
   ---- ------ ------ ------------  

从外表文件导入数据库中

   八、修改纪录 
   举例:将张3的出生年月改为1九七1-01-十 
   mysql> update name set csny='1971-01-10' where xm='张三'; 

1)使用"source"命令

   9、删除纪录 
   譬喻:删除张叁的纪要。 
   mysql> delete from name where xm='张三'; 

第一进入"mysql"命令控制台,然后创造数据库,然后采取该数据库。最终实行下边操作。

   十、删库和删表 
   drop database 库名; 
   drop table 表名; 

mysql>source [备份文件的保留路线]

   九、增加MySQL用户 

2)使用"<"符号

   格式:grant select on 数据库.* to 用户名@登陆主机 identified by "密码" 
例1、扩大3个用户user_一密码为1贰3,让他得以在其它主机上登6,并对负有数据库有询问、插入、修改、删除的权柄。首先用以root用户连入MySQL,然后键入以下命令: 

首先进入"mysql"命令调控台,然后创造数据库,然后退出 MySQL,进入 DOS 分界面。最终施行上面操作。

   mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123"; 
例1扩张的用户是这么些气息奄奄的,假诺知道了user_一的密码,那么她就可以在网络的其它1台Computer上登陆你的MySQL数据库并对您的多少任性妄为了,化解办法见例二。 

mysql -u root –p < [备份文件的保存路线]

   例2、增添1个用户user_二密码为1二叁,让此用户只能在localhost上登陆,并得以对数据库aaa实行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),那样用户即选取知道user_二的密码,他也惊慌失措从网络一向访问数据库,只可以通过MYSQL主机来操作aaa库。 

常用MySQL语句补充:

   mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123"; 

  1. 动用SHOW语句搜索在服务器上脚下设有怎么着数据库:

   用新扩充的用户壹旦登陆不了MySQL,在登入时用如下命令: 

复制代码 代码如下:

   mysql -u user_一 -p -h 1九二.168.1一三.50 (-h后跟的是要登6主机的ip地址) 

mysql> SHOW DATABASES;

   10、备份与回复 

  1. 贰、成立2个数据库MYSQLDATA

   1、备份 

复制代码 代码如下:

   比方:将上例创建的aaa库备份到文件back_aaa中 

mysql> CREATE DATABASE MYSQLDATA;

   [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第9有的内容) 
   [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa 

  1. 分选你所开创的数据库

   2、恢复 

复制代码 代码如下:

   [root@test mysql]# mysql -u root -p ccc < back_aaa

mysql> USE MYSQLDATA;

 

(按回车键出现Database changed 时表明操作成功!)

 

  1. 查阅未来的数据库中设有啥表

 

复制代码 代码如下:

mysql> SHOW TABLES;

  1. 创办三个数据库表

复制代码 代码如下:

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

  1. 显示表的组织:

复制代码 代码如下:

mysql> DESCRIBE MYTABLE;

  1. 往表中加入记录

复制代码 代码如下:

mysql> insert into MYTABLE values ("hyq","M");

  1. 用文件方式将数据装入数据库表中(举个例子D:/mysql.txt)

复制代码 代码如下:

mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

  1. 导入.sql文件命令(例如D:/mysql.sql)

复制代码 代码如下:

mysql>use database;
mysql>source d:/mysql.sql;

  1. 删除表

复制代码 代码如下:

mysql>drop TABLE MYTABLE;

  1. 清空表

复制代码 代码如下:

mysql>delete from MYTABLE;

  1. 更新表中数量

复制代码 代码如下:

mysql>update MYTABLE set sex="f" where name='hyq';

以下是在互联网看到的应用MySql的治开宝本草验:

在windows中MySql以劳动情势存在,在应用前应保险此服务1度运行,未运维可用net start mysql命令运转。而Linux中运转时可用"/etc/rc.d/init.d/mysqld start"命令,注意启动者应怀有助理馆员权限。

刚安装好的MySql包蕴二个含空密码的root帐户和2个无名帐户,那是十分大的安全隐患,对于一些生死攸关的选择大家应将安全性尽恐怕进步,在此处应把无名帐户删除、 root帐户设置密码,可用如下命令举办:

use mysql;
delete from User where User="";
update User set Password=PASSWORD('newpassword') where User='root';

假设要对用户所用的记名终端进行限定,能够更新User表中相应用户的Host字段,在开始展览了以上改动后应重新起动数据库服务,此时报到时可用如下类似命令:

mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;

地点命令参数是常用参数的一有的,详细意况可参照他事他说加以考察文书档案。此处的mydb是要登6的数据库的名目。

在拓展付出和事实上利用中,用户不应有只用root用户张开一连数据库,即使接纳root用户展开测试时很有益于,但会给系统带来主要安全隐患,也不方便人民群众管理技能的进步。大家给八个选拔中运用的用户赋予最相宜的数据库权限。如三个只实行多少插入的用户不应赋予其除去数据的权力。MySql的用户管理是经过 User表来贯彻的,加多新用户常用的法门有几个,一是在User表插入相应的数码行,同期安装相应的权杖;贰是经过GRANT命令创制具有某种权力的用 户。在那之中GRANT的常用用法如下:

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

若要给此用户赋予他在对应对象上的权位的管住技艺,可在GRANT前边增加WITH GRANT OPTION选项。而对此用插入User表增添的用户,Password字段应用PASSWOOdysseyD 函数举行更新加密,防止不轨之人窃看密码。对于那多少个早已毫无的用户应给予清除,权限过界的用户应及时回收权限,回收权限能够透过更新User表相应字段, 也能够运用REVOKE操作。

上边给出自己从其余材质(www.cn-java.com)获得的对常用权力的分解:

大局管理权限:

FILE: 在MySQL服务器上读写文件。
PROCESS: 展现或杀死属于其余用户的劳动线程。
RELOAD: 重载访问调整表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTEKoleos: 修改已存在的数据表(举个例子增添/删除列)和目录。
CREATE: 创建新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 构造建设或删除索引。
INSERT: 增添表的记录。
SELECT: 突显/搜索表的笔录。
UPDATE: 修改表中已存在的笔录。
特地的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只同意登6–其它什么也不容许做。

意在本文所述对大家MySQL数据库设计有所帮忙。

你恐怕感兴趣的稿子:

  • MySQL命令行导出导入数据库实例详解
  • MySQL命令行导出与导入数据库
  • MySQL命令行删除表中的1个字段
  • MySQL命令行中给表增多三个字段(字段名、是不是为空、私下认可值)
  • MySQL命令行分界面中出现字符错误提示的源委及化解方法
  • 分享Mysql命令大全
  • Mysql命令大全(完整版)
  • Mysql命令大全(详细篇)
  • MySQL命令行下二拾个常用命令

本文由澳门新浦京娱乐场网站发布于数据库,转载请注明出处:常用命令,MySql命令实例汇总