若是一条一条地输入,很麻烦。大家可以用文件文件的法子将具备记录进入你的数据库表中。创立贰个文本文件“mysql.txt”,每行包罗1个笔录,用定位符(tab)把值分开,并且以在CREATE
TABLE语句中列出的列次序给出,举个例子: 

  
注意:这几个mysql文件在/usr/bin目录下,与后边讲的起步文件/etc/init.d/mysql不是二个文本。 

[separator] 

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

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

5、常用sql 语句 

一:使用SHOW语句找寻在服务器上最近存在怎么着数据库:
mysql> SHOW DATABASES;
二:二、成立三个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
三:接纳你所创制的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed
时表明操作成功!)
肆:查看今后的数据库中留存怎么样表
mysql> SHOW TABLES;
5:成立二个数据库表
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;

mysql -h110.110.110.110 -uroot -pabcd123

6、安全 

柒:往表中插足记录

若要给此用户赋予他在相应对象上的权柄的军管力量,可在GRANT前面增添WITH
GRANT OPTION选项。而对此用插入User表增加的用户,Password字段应用PASSWOPAJEROD
函数实行翻新加密,防止不轨之人窃看密码。对于那二个已经不用的用户应予以清除,权限过界的用户应及时回收权限,回收权限能够因此更新User表相应字段,也得以运用REVOKE操作。 

   mysql -u user_一 -p -h
19二.16八.1一三.50 (-h后跟的是要登入主机的ip地址) 

       一、引言 

mysql>delete from MYTABLE;

1、启动MySQL服务器 
   
 三种方法:
1是用winmysqladmin,借使机器运维时已自行运转,则可径直进入下一步操作。
2是在DOS格局下运营 d:\mysql\bin\mysqld 
 (假设mysql 安装在d:\mysql);当然也能够 net start
mysql命令运转。而Linux中运行时可用“/etc/rc.d/init.d/mysqld
start”命令,注 意运营者应具备管理员权限。 
  
二、进入mysql交互操作分界面 
   
  在DOS方式下,运行: d:\mysql\bin\mysql 
  出现: mysql 的唤醒符” mysql>
“,此时已进入mysql的并行操作方法。 
  借使出现 “E昂CoraROPRADO 2003: Can′t connect to MySQL server on ′localhost′
(100陆壹)“,表达您的MySQL还从未运行。 
   
叁、退出MySQL操作分界面 
   
  在mysql>提醒符下输入quit可以随时退出交互操作分界面:   
  mysql> quit 
  Bye 
   
  
四、第1条命令(多条命令用 “,” 分隔
,一条命令能够分成多行输入,直到出现分号”;”截至 
   
  mysql> select version(),current_date(); 
  mysql>Select (20+5)*4; 
  mysql>Select (20+5)*4,sin(pi()/3); 
  mysql>Select (20+5)*肆 AS Result,sin(pi()/3); (AS:
钦赐假名称叫Result) 

   1、启动 
  
MySQL安装完毕后运转文件mysql在/etc/init.d目录下,在要求运营时运维上边发号施令就可以。 
   [root@test1 init.d]# /etc/init.d/mysql start 

 

   陆、运维与停止 

   七、重新起动MySQL服务 
   /etc/rc.d/init.d/mysql start 
   或用reboot命令重启Linux 
   如若专业健康活动就成功了,不然对照前边的七步再检查一下。 

四:查看以往的数据库中存在怎么着表

   登入MySQL的一声令下是mysql, mysql 的选用语法如下: 
   mysql [-u username] [-h host] [-p[password]] [dbname] 
   username 与 password 分别是 MySQL
的用户名与密码,mysql的上马管理帐号是root,未有密码,注意:那个root用户不是Linux的系统用户。MySQL暗中认可用户是root,由于开首未有密码,第3遍进时只需键入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>”提示符,恭喜您,安装成功! 
   增添了密码后的登6格式如下: 
   mysql -u root -p 
   Enter password: (输入密码) 
  
在那之中-u后跟的是用户名,-p需求输入密码,回车后在输入密码处输入密码。 

select * from 表名;

5:创建2个多少库表

   3、测试是还是不是修改成功 
   一)不用密码登入 
   [root@test1 local]# mysql 
   ERROR 1045: Access denied for user: ‘root@localhost’ (Using
password: NO) 
   呈现错误,表明密码已经修改。 
   二)用修改后的密码登6 
   [root@test1 local]# mysql -u root -p 
   Enter password: (输入修改后的密码123456) 
   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命令修改口令,也可因而修改库来退换口令。 

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”; 

  
想使用Linux已经相当短日子了,由于并未有硬性职务一贯也远非系统学习,近来出于工作要求必须接纳Linux下的MySQL。本感觉有Windows下行使SQL
Server的经历,感觉在Linux下安装MySql应该是不费吹灰之力的事,可在真正安装和应用MySQL时走了累累弯路,遇见许多标题,毕竟Linux和Windows本人就有相当大分别。为了让和本人同样的初学者在攻读的经过中少走弯路,尽快入门,写了此文,希望对您具有支持。本文的Linux情况是Red
Hat 九.0,MySQL是4.0.1陆。 

陆:显示表的组织:

  1. 导入数据:

(注:u与root能够毫无加空格,别的也一仍其旧)

   用新扩充的用户只要登入不了MySQL,在签到时用如下命令: 

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

   九、增加MySQL用户 

 

   1、备份 

3、 呈现数据表的布局:

use test;

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

mysql> SHOW DATABASES;

  
MySQL私下认可的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下须求开始展览下边几步: 

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

   MySQL默许未有密码,安装收尾扩展密码的第1是强烈的。 

   陆、修改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   (加上此行) 

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

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

delete from 表名;

报到到mysql中,然后在mysql的提示符下运维下列命令,每一个命令以分集团结束。

11:清空表

11:清空表

create table 表名(字段列表);

mysqldump -u root 库名>xxx.data

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

5、 建表:

第伍招、导出和导入数据

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

   6、修改MySQL运营脚本/etc/rc.d/init.d/mysql 
  
最后,需求修改MySQL运行脚本/etc/rc.d/init.d/mysql,把个中datadir=/var/lib/mysql1行中,等号左边的门路改成你现在的莫过于存放路径:home/data/mysql。 
   [root@test1 etc]# vi /etc/rc.d/init.d/mysql 
   #datadir=/var/lib/mysql    (注释此行) 
   datadir=/home/data/mysql   (加上此行) 

6、安全 

   2、展现数据库中的表 
   mysql> use mysql;
(张开库,对各样库开始展览操作就要展开此库,类似于foxpro ) 
   Database changed 

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

壹:使用SHOW语句搜索在服务器上脚下留存如何数据库: 
mysql> SHOW DATABASES; 
贰:2、创造2个数据库MYSQLDATA 
mysql> Create DATABASE MYSQLDATA; 
三:选用你所开创的数码库 
mysql> USE MYSQLDATA; (按回车键出现Database changed
时表达操作成功!) 
四:查看今后的数据库中留存什么表 
mysql> SHOW TABLES; 
伍:制造1个数据库表 
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; 
12:更新表中数据 
mysql>update MYTABLE set sex=”f” where name=’hyq’; 
13:插入数据 
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 
壹五:mysql jdbc连接url 使用粤语 
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312 

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

肆、 建库与删库:

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

select * from 表名;

   四、MySQL的几个根本目录 

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

以下是潜意识中在网络看到的使用MySql的军事管制经验,
摘自: 
  
在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;
上边命令参数是常用参数的1局部,详细景况可参看文书档案。此处的mydb是要登陆的数据库的名号。
在开始展览开采和事实上采取中,用户不该只用root用户举行接二连三数据库,固然应用root用户实行测试时很有利,但会给系统带来重大安全隐患,也不便利管理本事的增进。大家给三个行使中动用的用户赋予最确切的数据库权限。如三个只进行数量插入的用户不应赋予其除去数据的权柄。MySql的用户管理是透过User表来促成的,增多新用户常用的格局有多少个,一是在User表插入相应的数据行,同时安装相应的权力;2是因此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字段应用PASSWOTiggoD
函数进行更新加密,以免不轨之人窃看密码。对于那多少个早已毫无的用户应给予清除,权限过界的用户应霎时回收权限,回收权限可以通过更新User表相应字段,也能够应用REVOKE操作。
下边给出自个儿从别的质感(www.cn-java.com)获得的对常用权力的解释:
全局管理权限:
FILE: 在MySQL服务器上读写文件。
PROCESS: 呈现或杀死属于其余用户的服务线程。
RELOAD: 重载访问调整表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限:
ALTE智跑: 修改已存在的数据表(比方增添/删除列)和目录。
CREATE: 创建新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 创建或删除索引。
INSERT: 扩大表的记录。
SELECT: 彰显/搜索表的记录。
UPDATE: 修改表中已存在的笔录。
专门的权能:
ALL: 允许做其余事(和root同样)。
USAGE: 只允许登陆–别的什么也不相同意做。

mysql>source d:/mysql.sql;

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

7:往表中进入记录

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是或不是在活动运维列表中 
   [root@test1 local]# /sbin/chkconfig –list 
   2)把MySQL加多到你系统的启航服务组里面去 
   [root@test1 local]# /sbin/chkconfig – add mysql 
   三)把MySQL从运营服务组里面删除。 
   [root@test1 local]# /sbin/chkconfig – del mysql 
七、更改MySQL目录 

陆:展现表的布局:

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

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

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

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

  
想使用Linux已经很短日子了,由于未有硬性职务平昔也未尝系统学习,近年来是因为职业索要必须选取Linux下的MySQL。本感觉有Windows下选拔SQL
Server的经验,认为在Linux下安装MySql应该是易如反掌的事,可在真的安装和动用MySQL时走了大多弯路,遇见许多难点,终归Linux和Windows本身就有极大分别。为了让和自个儿同壹的初学者在上学的经过中少走弯路,尽快入门,写了此文,希望对你有所扶助。本文的Linux意况是Red
Hat 玖.0,MySQL是肆.0.16。 

   10、备份与回复 

load data local infile “文件名” into table 表名;

   上面就介绍一下那多少个目录。 

一:使用SHOW语句搜索在服务器上脚下留存哪些数据库:

   格式:grant select on 数据库.* to 用户名@登入主机 identified by
“密码” 
例一、增添2个用户user_一密码为12叁,让她可以在别的主机上登入,并对具备数据库有查询、插入、修改、删除的权柄。首先用以root用户连入MySQL,然后键入以下命令:

10:删除表

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

 

show databases;

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

地点命令参数是常用参数的1有个别,详细情况可参看文书档案。此处的mydb是要登入的数据库的称呼。 
在进打开采和事实上使用中,用户不应当只用root用户张开再三再四数据库,就算采取root用户举行测试时很方便,但会给系统带来首要安全隐患,也不便利管理本事的加强。大家给一个选取中选取的用户赋予最适当的数据库权限。如多少个只实行数量插入的用户不应赋予其除去数据的权限。MySql的用户管理是由此User表来落到实处的,增加新用户常用的章程有三个,1是在User表插入相应的数额行,同时安装相应的权位;二是因而GRANT命令创立具备某种权力的用户。当中GRANT的常用用法如下: 

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

借使您不想user一有密码,可以再打3个限令将密码去掉。

   用新添的用户只要登陆不了MySQL,在签到时用如下命令: 

   2、恢复 

mysqldump -u root 库名>xxx.data

create database 库名;

   八、MySQL的常用操作 

use 库名;

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

如,扩张二个用户user一密码为password一,让其能够在本机上登入,
并对具有数据库有查询、插入、修改、删除的权位。首先用以root用户连入mysql,然后键入以下命令:

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

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

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

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

 

率先招、mysql服务的运转和甘休

   MySQL安装完结后不象SQL
Server默许安装在3个索引,它的数据库文件、配置文件和指令文件分别在分裂的目录,驾驭那一个目录卓殊首要,特别对于Linux的初学者,因为Linux本人的目录结构就相比较复杂,如若搞不清楚MySQL的安装目录那就不许谈到深刻学习。 

1、启动MySQL服务器 
   
 三种艺术:
一是用winmysqladmin,借使机器运行时已自行运维,则可直接进入下一步操作。
二是在DOS格局下运转 d:\mysql\bin\mysqld 
 (假设mysql 安装在d:\mysql);当然也能够 net start
mysql命令运营。而Linux中运营时可用“/etc/rc.d/init.d/mysqld
start”命令,注 意运转者应具有管理员权限。 
  
贰、进入mysql交互操作分界面 
   
  在DOS方式下,运行: d:\mysql\bin\mysql 
  出现: mysql 的提醒符” mysql>
“,此时已跻身mysql的相互操作方法。 
  即使出现 “EHighlanderRO大切诺基 2003: Can′t connect to MySQL server on ′localhost′
(100陆1)“,表达你的MySQL还从未运行。 
   
三、退出MySQL操作分界面 
   
  在mysql>提醒符下输入quit能够随时退出交互操作分界面:   
  mysql> quit 
  Bye 
   
  
4、第2条命令(多条命令用 “,” 分隔
,一条命令能够分成多行输入,直到出现分号”;”结束 
   
  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) 

  再使用如下命令看看是或不是已将数据输入到数据库表中:mysql> select *
from mytable; 
(e129)    
  1、删除student_course数据库中的students数据表: 
  rm -f student_course/students.* 
   
  2、备份数据库:(将数据库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 
   
  3、创制一时表:(创设最近表zengchao) 
  create temporary table zengchao(name varchar(10)); 
   
  4、创设表是先推断表是还是不是存在 
  create table if not exists students(……); 
   
  五、从已经有的表中复制表的布局 
  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 table1 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 table一 (id);//建构唯1性索引 
   
  10、删除索引 
  drop index idx_id on table1; 
  alter table table1 drop index ind_id; 
   
  1一、联合字符恐怕四个列(将列id与”:”和列name和”=”连接) 
  select concat(id,’:’,name,’=’) from students; 
   
  1二、limit(选出十到20条)<第三个记录集的号子是0> 
  select * from students order by id limit 9,10; 
   
  一3、MySQL不支持的法力 
  事务,视图,外键和引用完整性,存款和储蓄进度和触发器 
   
   
  1四、MySQL会动用索引的操作符号 
  <,<=,>=,>,=,between,in,不带%或者_开头的like 
   
  15、使用索引的缺点 
  ①)减慢增加和删除改数据的进程; 
  二)占用磁盘空间; 
4503.com,  叁)扩大查询优化器的承受; 
  当查问优化器生成实行安立即,会设想索引,太多的索引会给查询优化器增添专门的工作量,导致不可能选拔最优的询问方案; 
   
  1陆、分析索引功用 
  方法:在一般的SQL语句前加上explain; 
  分析结果的意思: 
  1)table:表名; 
  二)type:连接的类型,(ALL/Range/Ref)。在那之中ref是最理想的; 
  3)possible_keys:查询能够行使的索引名; 
  四)key:实际运用的目录; 
  5)key_len:索引中被利用一些的长度(字节); 
  6)ref:突显列名字大概”const”(不通晓什么意思); 
  柒)rows:展现MySQL以为在找到科学结果在此以前必须扫描的行数; 
  8)extra:MySQL的建议; 
   
  17、使用相当的短的定长列 
  1)尽恐怕选拔非常短的数据类型; 
  2)尽大概选取定长数据类型; 
  a)用char取代varchar,固定长度的数额管理比变长的快些; 
  b)对于频仍修改的表,磁盘轻巧造成碎片,从而影响数据库的完全品质; 
  c)万壹出现数量表崩溃,使用一定长度数据行的表更易于重新组织。使用一定长度的多寡行,每一种记录的起来地方都以一定记录长度的翻番,能够很轻易被检查评定到,不过使用可变长度的数据行就不自然了; 
  d)对于MyISAM类型的数据表,尽管转变到固定长度的数据列能够巩固性能,可是占用的上空也大; 
   
  18、使用not null和enum 
  尽量将列定义为not
null,那样可使数据的出来更加快,所需的空间更加少,而且在询问时,MySQL无需检查是还是不是存在特例,即null值,从而优化查询; 
  如果1列只含有一定量数量的特定值,如性别,是不是行得通或许入学年份等,在这种情景下应该思虑将其转移为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); 
  第3条语句须求procedure
analyse()不要建议含有多于十七个值,只怕含有多于25陆字节的enum类型,假使没有限制,输出大概会不短; 
   
  21、使用查询缓存 
  一)查询缓存的劳作方法: 
  第二遍实践某条select语句时,服务器记住该查询的公文内容和查询结果,存款和储蓄在缓存中,下次境遇这几个讲话时,直接从缓存中回到结果;当更新数据表后,该数据表的别的缓存查询都形成无效的,并且会被放任。 
  2)配置缓存参数: 
  变量:query_cache
_type,查询缓存的操作格局。有叁中情势,0:不缓存;一:缓存查询,除非与select
sql_no_cache起先;二:依据须要只缓存这个以select
sql_cache开端的询问;query_cache_size:设置查询缓存的最大结果集的尺寸,比这么些值大的不会被缓存。 
   
  2二、调解硬件 
  一)在机器上装更加多的内存; 
  二)扩张更快的硬盘以减掉I/O等待时间; 
  寻道时间是调节质量的要害要素,逐字地运动磁头是最慢的,壹旦磁头定位,从磁道读则赶快; 
  3)在分裂的大要硬盘设备上海重机厂新分配磁盘活动; 
  假如可能,应将最劳碌的数据仓库储存放在分化的情理设备上,那跟使用同样物理设备的两样分区是例外的,因为它们将争用平等的情理财富(磁头)。

修改暗中同意密码: 
cd d:\mysql\bin 
mysqladmin -u root -p password 123456 
回车出现 
Enter password: ( 注:那是叫您输入原密码.
刚安装时密码为空,所以一向回车就可以) 
这会儿mysql 中账号 root 的密码 被改为 12345陆 安装完成

首先招、mysql服务的起步和苏息

drop table 表名;

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

二、 展现库中的数据表:

   一、下载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文件。 

load data local infile “文件名” into table 表名;

mysqlimport -u root -p123456 < mysql.dbname。

一、 展现数据库列表。

mysql>use database;

 

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

假如愿意该用户能够在别的机器上登入mysql,则将localhost改为”%”。

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

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

5、常用sql 语句 

mysql>

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

  1. 导出数据:

上边命令参数是常用参数的1有的,实际情况可参谋文书档案。此处的mydb是要登陆的数据库的称号。 
在开始展览付出和实在运用中,用户不应有只用root用户举行连接数据库,就算选择root用户展开测试时很便利,但会给系统带来重大安全隐患,也不便宜管理本领的增进。大家给3个利用中选用的用户赋予最贴切的数据库权限。如二个只举办多少插入的用户不应赋予其删除数据的权能。MySql的用户管理是由此User表来促成的,加多新用户常用的方法有三个,1是在User表插入相应的数据行,同时设置相应的权能;2是通过GRANT命令创设具备某种权力的用户。当中GRANT的常用用法如下: 

create table 表名(字段列表);

  1. 导出数据:

   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 

show databases;

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

如,扩张3个用户user壹密码为password1,让其得以在本机上登入,
并对负有数据库有询问、插入、修改、删除的权力。首先用以root用户连入mysql,然后键入以下命令:

mysql>update MYTABLE set sex=”f” where name=’hyq’;

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

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

show tables;

四、 建库与删库:

mysql> CREATE DATABASE MYSQLDATA;

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

use test;

  再选拔如下命令看看是还是不是已将数据输入到数据库表中: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 table1 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 table壹 (id);//创立唯一性索引 
   
  拾、删除索引 
  drop index idx_id on table1; 
  alter table table1 drop index ind_id; 
   
  1一、联合字符只怕三个列(将列id与”:”和列name和”=”连接) 
  select concat(id,’:’,name,’=’) from students; 
   
  1贰、limit(选出10到20条)<第一个记录集的号子是0> 
  select * from students order by id limit 9,10; 
   
  13、MySQL不帮衬的作用 
  事务,视图,外键和引用完整性,存储进程和触发器 
   
   
  1肆、MySQL会选用索引的操作符号 
  <,<=,>=,>,=,between,in,不带%或者_开头的like 
   
  1⑤、使用索引的缺点 
  1)减慢增加和删除改数据的进程; 
  二)占用磁盘空间; 
  三)扩充查询优化器的肩负; 
  当查问优化器生成推行安插时,会思考索引,太多的索引会给查询优化器增添职业量,导致力不从心取舍最优的查询方案; 
   
  1陆、分析索引作用 
  方法:在相似的SQL语句前加上explain; 
  分析结果的意思: 
  1)table:表名; 
  2)type:连接的类型,(ALL/Range/Ref)。个中ref是最优异的; 
  3)possible_keys:查询可以选拔的索引名; 
  四)key:实际选拔的目录; 
  5)key_len:索引中被利用部分的长短(字节); 
  陆)ref:呈现列名字或然”const”(不知道哪些看头); 
  7)rows:展现MySQL认为在找到精确结果在此以前务必扫描的行数; 
  8)extra:MySQL的建议; 
   
  17、使用相当短的定长列 
  一)尽大概选择很短的数据类型; 
  二)尽可能选择定长数据类型; 
  a)用char取代varchar,固定长度的多少管理比变长的快些; 
  b)对于频仍修改的表,磁盘轻松产生碎片,从而影响数据库的总体品质; 
  c)万壹出现数量表崩溃,使用一定长度数据行的表更易于重新布局。使用一定长度的数目行,每一个记录的初步地方都是长久记录长度的倍数,能够很轻便被检验到,然而选用可变长度的数据行就不必然了; 
  d)对于MyISAM类型的数据表,即便转变来固定长度的数据列可以进步质量,可是占用的长空也大; 
   
  18、使用not null和enum 
  尽量将列定义为not
null,那样可使数据的出来越来越快,所需的长空更加少,而且在查询时,MySQL无需检查是还是不是留存特例,即null值,从而优化查询; 
  即便1列只蕴含一定量数量的一定值,如性别,是还是不是行得通可能入学年份等,在这种情状下应当思量将其退换为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); 
  第叁条语句须求procedure
analyse()不要建议含有多于17个值,也许含有多于25六字节的enum类型,借使未有界定,输出或许会非常长; 
   
  贰一、使用查询缓存 
  1)查询缓存的办事方法: 
  第三次实行某条select语句时,服务器记住该查询的文本内容和询问结果,存款和储蓄在缓存中,下次遇到那些讲话时,直接从缓存中回到结果;当更新数据表后,该数据表的别的缓存查询都成为无效的,并且会被遗弃。 
  贰)配置缓存参数: 
  变量:query_cache
_type,查询缓存的操作情势。有三中情势,0:不缓存;1:缓存查询,除非与select
sql_no_cache开端;二:依据需求只缓存那多少个以select
sql_cache开端的询问;query_cache_size:设置查询缓存的最大结果集的深浅,比那么些值大的不会被缓存。 
   
  22、调治硬件 
  一)在机械上装更加多的内部存款和储蓄器; 
  二)扩大越来越快的硬盘以压缩I/O等待时间; 
  寻道时间是决定品质的重中之重元素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则极快; 
  3)在分裂的物理硬盘设备上海重机厂新分配磁盘活动; 
  假若只怕,应将最繁忙的数据仓库储存放在不一样的物理设备上,那跟使用同一物理设备的不一样分区是例外的,因为它们将争用同样的物理能源(磁头)。

不用解释了吗。

   柒、扩张记录 
   例如:扩展几条有关记录。 
   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 | 
   +—-+——+——+————+ 

net start mysql

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

 

   二、安装Mysql 

键入命令mysql -uroot -p,
回车后提示您输入密码,输入1234伍,然后回车就能够进入到mysql中了,mysql的唤起符是:

一:使用SHOW语句搜索在服务器上脚下存在什么样数据库: 
mysql> SHOW DATABASES; 
2:二、成立3个数据库MYSQLDATA 
mysql> Create DATABASE MYSQLDATA; 
三:选择你所创建的多少库 
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’; 
1三:插入数据 
mysq>linsert into MYTABLE values (1, ‘第二章’, 0×2134545); 
1四:登6后选取数据库 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 

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

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

缺省有七个数据库:mysql和test。
mysql仓库储存放着mysql的系统和用户权限新闻,大家改密码和新添用户,实际上正是对那么些库开展操作。

mysql> CREATE DATABASE MYSQLDATA;

use mysql;

mysql> SHOW TABLES;

mysql>update MYTABLE set sex=”f” where name=’hyq’;

mysql>drop TABLE MYTABLE;

   1、备份 

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

   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; 

mysql>source d:/mysql.sql;

壹旦你不想user一有密码,能够再打1个限令将密码去掉。

mysqldump –opt test > mysql.test

   五、编辑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   (加上此行) 

第四招、导出和导入数据