精华内容
下载资源
问答
  • linux下mysql命令大全

    千次阅读 2018-08-17 09:44:01
    1.linux下启动mysql命令:  mysqladmin start  /ect/init.d/mysql start (前面为mysql的安装路径)  2.linux下重启mysql的命
    原文地址为:
    linux下mysql命令大全
    

    1.linux下启动mysql命令

      mysqladmin start

      /ect/init.d/mysql start (前面为mysql的安装路径)

      2.linux下重启mysql的命令:

      mysqladmin restart

      /ect/init.d/mysql restart (前面为mysql的安装路径)

      3.linux下关闭mysql的命令:

      mysqladmin -u root -p密码 shutdown

      /ect/init.d/mysql shutdown (前面为mysql的安装路径)

      4.连接本机上的mysql:

      进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示输入密码。

      退出mysql命令:exit(回车)

      5.修改mysql密码:

      mysqladmin -u用户名 -p旧密码 password 新密码

      或进入mysql命令行SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');

      GRANT USAGE ON *.* TO '用户名'@'主机' IDENTIFIED BY 'biscuit';

      修改自己的密码SET PASSWORD = PASSWORD('biscuit');

      6.增加新用户。(注意:mysql环境中的命令后面都带一个分号作为命令结束符)

      grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;

      flush privileges;(刷新权限设置)

      grant select on 数据库.* to 用户名@登录主机 identified by "密码"

      如增加一个用户test密码为123,让他可以在任何主机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:

      grant select,insert,update,delete on *.* to " Identified by "123";

      7.跳过授权访问mysql

      mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

      二、有关mysql数据库方面的操作

      必须首先登录到mysql中,有关操作都是在mysql的提示符下进行,而且每个命令以分号结束

      1、显示数据库列表。

      show databases;

      2、显示库中的数据表:

      use mysql; //打开库

      show tables;

      3、显示数据表的结构:

      describe 表名;

      4、建库:

      create database 库名;

      5、建表:

      use 库名;

      create table 表名(字段设定列表);

      6、删库和删表:

      drop database 库名;

      drop table 表名;

      7、将表中记录清空:

      delete from 表名;

      8、显示表中的记录:

      select * from 表名;

      9、编码的修改

      如果要改变整个mysql的编码格式:

      启动mysql的时候,mysqld_safe命令行加入

      --default-character-set=gbk

      如果要改变某个库的编码格式:在mysql提示符后输入命令

      alter database db_name default character set gbk;

      三、数据的导入导出

      1、文本数据转到数据库中

      文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:

      1 name duty 2006-11-23

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

      2、导出数据库和表

      mysqldump --opt news > news.sql(将数据库news中的所有表备份到news.sql文件,news.sql是一个文本文件,文件名任取。)

      mysqldump --opt news author article >author.article.sql(将数据库news中的author表和article表备份到author.article.sql文件,author.article.sql是一个文本文件,文件名任取。)

      mysqldump --databases db1 db2 > news.sql(将数据库dbl和db2备份到news.sql文件,news.sql是一个文本文件,文件名任取。)

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

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

      mysqldump --all-databases > all-databases.sql(将所有数据库备份到all-databases.sql文件,all-databases.sql是一个文本文件,文件名任取。)

      3、导入数据

      mysql < all-databases.sql(导入数据库)

      mysql -u root -p fukai –force < dmc010003_db.myisam.sql(强行导入)

      mysql>source news.sql;(在mysql命令下执行,可导入表)

      MySQLimport的常用选项介绍:

      -d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息

      -f or --force 不管是否遇到错误,MySQLimport将强制继续插入数据

      -i or --ignore MySQLimport跳过或者忽略那些有相同唯一关键字的行, 导入文件中的数据将被忽略。

      -l or -lock-tables 数据被插入之前锁住表,这样就防止了,你在更新数据库时,用户的查询和更新受到影响。

      -r or -replace 这个选项与-i选项的作用相反;此选项将替代表中有相同唯一关键字的记录。

      --fields-enclosed- by= char 指定文本文件中数据的记录时以什么括起的, 很多情况下数据以双引号括起。 默认的情况下数据是没有被字符括起的。

      --fields-terminated- by=char 指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号。您可以用此选项指定数据之间的分隔符。

      默认的分隔符是跳格符(Tab)

      --lines-terminated- by=str 此选项指定文本文件中行与行之间数据的分隔字符串或者字符。 默认的情况下MySQLimport以newline为行分隔符。

      您可以选择用一个字符串来替代一个单个的字符:

      一个新行或者一个回车。

      MySQLimport命令常用的选项还有-v 显示版本(version),-p 提示输入密码(password)

      例子:导入一个以逗号为分隔符的文件

      文件中行的记录格式是这样的:

      "1", "ORD89876", "1 Dozen Roses", "19991226"

      我们的任务是要把这个文件里面的数据导入到数据库Meet_A_Geek中的表格Orders中,我们使用这个命令:

      bin/MySQLimport –prl –fields-enclosed-by=" –fields-terminated-by=, Meet_A_Geek Orders.txt

      一、连接MySQL

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

      1、例1:连接到本机上的MYSQL。

      首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>。

      2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:

      mysql -h110.110.110.110 -uroot -pabcd123

      (注:u与root可以不用加空格,其它也一样)

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

      mysql常用维护命令

      1、show global status;列出MySQL服务器运行各种状态值

      2、show variables;查询MySQL服务器配置信息语句

      3、查看慢查询

      show variables like '%slow%';

      show global status like '%slow%';

      4、最大连接数

      show variables like 'max_connections';MySQL服务器最大连接数

      show global status like 'Max_used_connections'; 服务器响应的最大连接数

      5、查看表结构

      desc Tablename;

      describe Tablename;

      show columns from Tablename;

      show create table Tablename;


    转载请注明本文地址: linux下mysql命令大全
    展开全文
  • Mysql命令大全(完整版)

    千次阅读 多人点赞 2018-08-26 18:27:26
    一、连接数据库 ...首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码. 注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码...

    本文章转载自https://www.jb51.net/article/74564.htm

    一、连接数据库
    格式:mysql -h主机地址 -u用户名 -p用户密码
    1.1.连接到本机上的MYSQL。
    首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.
    注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。
    如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql>

    1.2连接到远程主机上的MYSQL。

    假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
     mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样)
    1.3退出MYSQL命令: exit (回车)

    二、增加用户
    格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
    2.1 增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。

    首先用root用户连入MYSQL,然后键入以下命令:

     

    复制代码 代码如下:

    grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

     

    但增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见2.2
    2.2增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问。

     

    复制代码 代码如下:

    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;


    如果你不想test2有密码,可以再打一个命令将密码消掉。

    复制代码 代码如下:

    grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”

     

    三、操作数据库

    3.1创建数据库
    注意:创建数据库之前要先连接Mysql服务器
    命令:create database <数据库名>
    例1:建立一个名为xhkdb的数据库
      

    复制代码 代码如下:

    mysql> create database xhkdb;

     

    例2:创建数据库并分配用户
    ①CREATE DATABASE 数据库名;
    ②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON 数据库名.* TO 用户名@localhost IDENTIFIED BY '密码';
    ③SET PASSWORD FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');
    依次执行3个命令完成数据库创建。
    注意:中文 “密码”和“数据库”是户自己需要设置的。

    3.2显示数据库
    命令:show databases (注意:最后有个s)

     

    复制代码 代码如下:

    mysql> show databases


    3.3 删除数据库
    命令:drop database <数据库名>
    例如:删除名为 xhkdb的数据库

    复制代码 代码如下:

    mysql> drop database xhkdb;

     

    例子1:删除一个已经确定存在的数据库

     

    复制代码 代码如下:

    mysql> drop database drop_database;
    Query OK, 0 rows affected (0.00 sec)

     

    例子2:删除一个不确定存在的数据库

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    mysql> drop database drop_database;

    ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist

    //发生错误,不能删除'drop_database'数据库,该数据库不存在。

    mysql> drop database if exists drop_database;

    Query OK, 0 rows affected, 1 warning (0.00 sec)//产生一个警告说明此数据库不存在

    mysql> create database drop_database;

    Query OK, 1 row affected (0.00 sec)

    mysql> drop database if exists drop_database;//if exists 判断数据库是否存在,不存在也不产生错误

    Query OK, 0 rows affected (0.00 sec)

    3.4 连接数据库
    命令: use <数据库名>
    例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb;
    屏幕提示:Database changed
    use 语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到发布一个不同的USE语句:

    1

    2

    3

    4

    mysql> USE db1;

    mysql> SELECT COUNT(*) FROM mytable; # selects from db1.mytable

    mysql> USE db2;

    mysql> SELECT COUNT(*) FROM mytable; # selects from db2.mytable

    使用USE语句为一个特定的当前的数据库做标记,不会阻碍您访问其它数据库中的表。下面的例子可以从db1数据库访问作者表,并从db2数据库访问编辑表:

    1

    2

    3

    mysql> USE db1;

    mysql> SELECT author_name,editor_name FROM author,db2.editor

     ->  WHERE author.editor_id = db2.editor.editor_id;

    要退出数据库或连接其他数据库直接 user '其他数据库名称'就可以了。

    3.5当前选择数据库
    命令:mysql> select database();
    MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用MySQL中SELECT命令的特殊功能?

    (1).显示MYSQL的版本

    1

    2

    3

    4

    5

    6

    7

    mysql> select version();

    +-----------------------+

    | version()    |

    +-----------------------+

    | 6.0.4-alpha-community |

    +-----------------------+

    1 row in set (0.02 sec)

    (2). 显示当前时间

    ?

    1

    2

    3

    4

    5

    6

    7

    mysql> select now();

    +---------------------+

    | now()    |

    +---------------------+

    | 2009-09-15 22:35:32 |

    +---------------------+

    1 row in set (0.04 sec)

    (3). 显示年月日

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    SELECT DAYOFMONTH(CURRENT_DATE);

    +--------------------------+

    | DAYOFMONTH(CURRENT_DATE) |

    +--------------------------+

    |      15 |

    +--------------------------+

    1 row in set (0.01 sec)

      

    SELECT MONTH(CURRENT_DATE);

    +---------------------+

    | MONTH(CURRENT_DATE) |

    +---------------------+

    |     9 |

    +---------------------+

    1 row in set (0.00 sec)

      

    SELECT YEAR(CURRENT_DATE);

    +--------------------+

    | YEAR(CURRENT_DATE) |

    +--------------------+

    |    2009 |

    +--------------------+

    1 row in set (0.00 sec)

    (4).显示字符串

    ?

    1

    2

    3

    4

    5

    6

    7

    mysql> SELECT "welecome to my blog!";

    +----------------------+

    | welecome to my blog! |

    +----------------------+

    | welecome to my blog! |

    +----------------------+

    1 row in set (0.00 sec)

    (5).当计算器用

    ?

    1

    2

    3

    4

    5

    6

    7

    select ((4 * 4) / 10 ) + 25;

    +----------------------+

    | ((4 * 4) / 10 ) + 25 |

    +----------------------+

    |    26.60 |

    +----------------------+

    1 row in set (0.00 sec)

    (6).串接字符串

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    select CONCAT(f_name, " ", l_name)

    AS Name

    from employee_data

    where title = 'Marketing Executive';

    +---------------+

    | Name   |

    +---------------+

    | Monica Sehgal |

    | Hal Simlai |

    | Joseph Irvine |

    +---------------+

    3 rows in set (0.00 sec)

    注意:这里用到CONCAT()函数,用来把字符串串接起来。另外,我们还用到以前学到的AS给结果列'CONCAT(f_name, " ", l_name)'起了个假名

    四、对表的操作
    4.1创建表
    命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
    例如,建立一个名为MyClass的表

    ?

    1

    2

    3

    4

    5

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

    4.2获取表结构
    命令: desc 表名,或者show columns from 表名

    ?

    1

    2

    mysql> desc MyClass;

    mysql> show columns from MyClass;

    使用MySQL数据库desc 表名时,我们看到Key那一栏,可能会有4种值,即' ','PRI','UNI','MUL'。
    (1).如果Key是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列;
    (2).如果Key是PRI,  那么该列是主键的组成部分;
    (3).如果Key是UNI,  那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(NULL);
    (4).如果Key是MUL,  那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL。
    如果对于一个列的定义,同时满足上述4种情况的多种,比如一个列既是PRI,又是UNI,那么"desc 表名"的时候,显示的Key值按照优先级来显,PRI->UNI->MUL。那么此时,显示PRI。
    一个唯一性索引列可以显示为PRI,并且该列不能含有空值,同时该表没有主键。
    一个唯一性索引列可以显示为MUL, 如果多列构成了一个唯一性复合索引,因为虽然索引的多列组合是唯一的,比如ID+NAME是唯一的,但是没一个单独的列依然可以有重复的值,只要ID+NAME是唯一的即可。

    4.3删除表
    命令:drop table <表名>
    例如:删除表名为 MyClass 的表

     

    复制代码 代码如下:

    mysql> drop table MyClass;

     

    DROP TABLE用于取消一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!
    注意:对于一个带分区的表,DROP TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。DROP TABLE还会取消与被取消

    的表有关联的分区定义(.par)文件。
    对与不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE。
    RESTRICT和CASCADE可以使分区更容易。目前,RESTRICT和CASCADE不起作用。

    4.4向表插入数据
    命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
    例如:往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99, 编号为3 的名为

    Wang 的成绩为96.5。
    mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
    注意:insert into每次只能向表中插入一条记录。

    4.5查询表
    (1)、查询所有行
    命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
    例如:查看表 MyClass 中所有数据
    mysql> select * from MyClass;
    (2)、查询前几行数据
    例如:查看表 MyClass 中前2行数据
    mysql> select * from MyClass order by id limit 0,2;
    select一般配合where使用,以查询更精确更复杂的数据。

    4.6删除表
    命令:delete from 表名 where 表达式
    例如:删除表 MyClass中编号为1 的记录
    mysql> delete from MyClass where id=1;

    4.7修改表中的数据
    语法:update 表名 set 字段=新值,… where 条件
    mysql> update MyClass set name='Mary' where id=1;

    例子1:单表的MySQL UPDATE语句:

     

    复制代码 代码如下:

     UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]


    例子2:多表的UPDATE语句:

    复制代码 代码如下:

    UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]


    UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDER BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。

     

    4.8增加表字段
    命令:alter table 表名 add字段 类型 其他;
    例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
    mysql> alter table MyClass add passtest int(4) default '0'[/code]
    加索引:mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
    例子: mysql> alter table employee add index emp_name (name);
    加主关键字的索引:mysql> alter table 表名 add primary key (字段名);
    例子: mysql> alter table employee add primary key(id);
    加唯一限制条件的索引:mysql> alter table 表名 add unique 索引名 (字段名);
    例子: mysql> alter table employee add unique emp_name2(cardnumber);
    删除某个索引:mysql> alter table 表名 drop index 索引名;
    例子: mysql>alter table employee drop index emp_name;
    增加字段:mysql> ALTER TABLE table_name ADD field_name field_type;
    修改原字段名称及类型:mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
    修改字段类型:mysql>ALTER TABLE table_name MODIFY colum_name field_type new_type
    删除字段:MySQL ALTER TABLE table_name DROP field_name;

    4.9修改表名
    命令:rename table 原表名 to 新表名;
    例如:在表MyClass名字更改为YouClass

     

    复制代码 代码如下:

    mysql> rename table MyClass to YouClass;


    当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。
    如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。
    RENAME TABLE 在 MySQL 3.23.23 中被加入。

     

    五、备份数据

    命令在DOS的[url=file://\\mysql\\bin]\\mysql\\bin[/url]目录下执行
    (1).导出整个数据库
    导出文件默认是存在mysql\bin目录下
    mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    mysqldump -u user_name -p123456 database_name > outfile_name.sql
    (2).导出一个表
    mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -u user_name -p database_name table_name > outfile_name.sql
    (3).导出一个数据库结构
    mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
    -d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
    (4).带语言参数导出
    mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
    例如,将aaa库备份到文件back_aaa中:

     

    复制代码 代码如下:

    [root@test1 root]# cd /home/data/mysql
    [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

     

    六、一个完整的数据库创建实例

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    drop database if exists school; //如果存在SCHOOL则删除

    create database school; //建立库SCHOOL

    use school; //打开库SCHOOL

    create table teacher //建立表TEACHER

    (

     id int(3) auto_increment not null primary key,

     name char(10) not null,

     address varchar(50) default ''深圳'',

     year date

    ); //建表结束

     

    //以下为插入字段

    insert into teacher values('''',''glchengang'',''深圳一中'',''1976-10-10'');

    insert into teacher values('''',''jack'',''深圳一中'',''1975-12-23'');

    注:在建表中
    (1)、将ID设为长度为3的数字字段:int(3);并让它每个记录自动加一:auto_increment;并不能为空:not null;而且让他成为主字段primary key。
    (2)、将NAME设为长度为10的字符字段
    (3)、将ADDRESS设为长度50的字符字段,而且缺省值为深圳。

    如果你在mysql提示符键入上面的命令也可以,但不方便调试。
    (1)、你可以将以上命令原样写入一个文本文件中,假设为school.sql,然后复制到c:\\下,并在DOS状态进入目录[url=file://\\mysql\\bin]\

    \mysql\\bin[/url],然后键入以下命令:mysql -uroot -p密码 < c:\\school.sql
    如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试,你只要将//的注释去掉即可使用)。
    (2)、或者进入命令行后使用 mysql> source c:\\school.sql; 也可以将school.sql文件导入数据库中。

    以上就是完整版的Mysql命令大全,希望对大家熟练使用Mysql命令有所帮助。

    附:我个人觉得这些命令还是很齐全的,都跟着敲一下,熟悉一下很重要的。

    展开全文
  • linux连接mysql命令

    千次阅读 2019-05-07 16:46:14
    找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中 了,MYSQL的提示符是:mysql> 2...

    一些主要的命令:

    连接MYSQL: 
        格式: mysql -h主机地址 -u用户名 -p用户密码 
    
    1、例1:连接到本机上的MYSQL 
    
       找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中
    
    了,MYSQL的提示符是:mysql> 
    
    2、连接到远程主机上的MYSQL 
    
       假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令: 
    
       mysql -h10.0.0.1 -uroot -p123 
    
      (注:u与root可以不用加空格,其它也一样) 
    
    3、退出MYSQL命令 
    
       exit (回车)
    

    登录:

    mysql -u username -p

    显示全部的数据库:

    show databases;

    使用某一个数据库:

    use databasename;

    显示一个数据库的全部表:

    show tables;

    退出:

    quit;

    删除数据库和数据表

    mysql>drop database 数据库名;

    mysql>drop table 数据表名;

    用户相关:

    查看全部的用户

    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

    新建用户:

    CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'

    为用户授权:

    格式:

    grant 权限 on 数据库.* to username@登录主机 identified by "password";

    演示样例:

    grant all privileges on testDB.* to test@localhost identified by '1234';

    然后须要运行刷新权限的命令:

    flush privileges;

    为用户授予部分权限:

    grant select,update on testDB.* to test@localhost identified by '1234';

    授予一个用户全部数据库的某些权限:

    grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

     

    删除用户:

    Delete FROM user Where User='test' and Host='localhost';

    然后刷新权限;

     

    删除账户及权限:>drop user username@'%';

            >drop user username@ localhost; 

     

    改动指定用户password

    使用root登录:
    mysql -u root -p
    运行命令:
    update mysql.user set password=password('新密码') where User="test" and Host="localhost";
    刷新权限:
    flush privileges;

    展开全文
  • SSH 操作mysql命令

    千次阅读 2018-05-25 11:38:16
    转自:https://blog.csdn.net/w410589502/article/details/51693316 mysql常用命令   show databases; 显示数据库   create database name; 创建数据库   use databasename; 选择数据库   drop database ...

     

     

     

    转自:https://blog.csdn.net/w410589502/article/details/51693316  mysql常用命令 

      show databases; 显示数据库 
      create database name; 创建数据库 
      use databasename; 选择数据库 
      drop database name 直接删除数据库,不提醒 
      show tables; 显示表 
      describe tablename; 显示具体的表结构 
      select 中加上distinct去除重复字段 
      mysqladmin drop databasename 删除数据库前,有提示。 
      显示当前mysql版本和当前日期 
      select version(),current_date; 
      修改mysql中root的密码: 
      shell>mysql -h localhost -u root -p //登录 
      mysql> update user set password=password("xueok654123") where user='root'; 
      mysql> flush privileges //刷新数据库 
      mysql>use dbname; 打开数据库: 
      mysql>show databases; 显示所有数据库 
      mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后 
      mysql>describe user; 显示表mysql数据库中user表的列信息); 
      grant 
      创建用户firstdb(密码firstdb)和数据库,并赋予权限于firstdb数据库 
      mysql> create database firstdb; 
      mysql> grant all on firstdb.* to firstdb identified by 'firstdb' 
      会自动创建用户firstdb 
      mysql默认的是本地主机是localhost,对应的IP地址就是127.0.0.1,所以你用你的IP地址登录会出错,如果你想用你的IP地址登录就要先进行授权用grant命令。 
      mysql>grant all on *.* to root@202.116.39.2 identified by "123456"; 
      说明:grant 与on 之间是各种权限,例如:insert,select,update等 
      on 之后是数据库名和表名,第一个*表示所有的数据库,第二个*表示所有的表 
      root可以改成你的用户名,@后可以跟域名或IP地址,identified by 后面的是登录用的密码,可以省略,即缺省密码或者叫空密码。 
      drop database firstdb; 
      创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个 
      mysql> grant all privileges on *.* to user@localhost identified by 'something' with 
      增加新用户 
      格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 
      GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; 
      GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION; 
      删除授权: 
      mysql> revoke all privileges on *.* from root@"%"; 
      mysql> delete from user where user="root" and host="%"; 
      mysql> flush privileges; 
      创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb 
      mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ' passwd' 
      重命名表: 
      mysql > alter table t1 rename t2; 
      mysqldump 
      备份数据库 
      shell> mysqldump -h host -u root -p dbname >dbname_backup.sql 
      恢复数据库 
      shell> mysqladmin -h myhost -u root -p create dbname 
      shell> mysqldump -h host -u root -p dbname < dbname_backup.sql 
      如果只想卸出建表指令,则命令如下: 
      shell> mysqladmin -u root -p -d databasename > a.sql 
      如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下: 
      shell> mysqladmin -u root -p -t databasename > a.sql 
      那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢? 
      mysqldump -T./ phptest driver 
      其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。 
      可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查 
      询,可如下执行这些查询: 
      例如,如果您想将建表语句提前写在sql.txt中, 
      mysql > mysql -h myhost -u root -p 
      Mysql5.0支持的字符集 
      MySQL中的字符集控制做得比较细,可以分为数据库级,表级, 字段级(这一点和ORACLE不同)。我上次改的字符集是数据库级的,对表sysuser没有影响,所以出现了改了字符集却一样无法插入中文的情况。 
      Drop TABLE IF EXISTS `firstdb`.`users`; 
      Create TABLE `firstdb`.`users` ( 
      `id` int(11) NOT NULL auto_increment, 
      `username` varchar(40) default NULL, 
      `birthday` date default NULL, 
      PRIMARY KEY (`id`) 
      ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; 
      编译 MySQL 时,指定了一个默认的字符集,这个字符集是 latin1; 
      安装 MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的; 
      启动 mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的; 
      此时 character_set_server 被设定为这个默认的字符集; 
      当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为    character_set_server; 
      当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集; 
      在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集; 
      当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集; 
      这个字符集就是数据库中实际存储数据采用的字符集,mysqldump 出来的内容就是这个字符集下的;Query Browser1.1 对中文输入的支持太差劲了,可以用notebook写好后,再copy过去执行 
      update firstdb.users set username='以' where id=3; 
      MYSQL 常用命令 
      1.导出整个数据库 
      mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的 
      文件名(数据库默认编码是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.导入数据库 
      A:常用source 命令 
      进入mysql数据库控制台, 
      如mysql -u root -p 
      mysql>use 数据库 
      然后使用source命令,后面参数为脚本文件(如这里用到的.sql) 
      mysql>source wcnc_db.sql 
      B:使用mysqldump命令 
      mysqldump -u username -p dbname < filename.sql 
      C:使用mysql命令 
      mysql -u username -p -D dbname < filename.sql 
      一、启动与退出 
      1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入 
      安装时的密码即可。此时的提示符是:mysql> 
      2、退出MySQL:quit或exit 
      二、库操作 
      1、、创建数据库 
      命令:create database <数据库名> 
      例如:建立一个名为xhkdb的数据库 
      mysql> create database xhkdb; 
      2、显示所有的数据库 
      命令:show databases (注意:最后有个s) 
      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; (注意:最后有个s) 
      三、表操作,操作之前应连接某个数据库 
      1、建表 
      命令: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)); 
      2、获取表结构 
      命令: desc 表名,或者show columns from 表名 
      mysql>DESCRIBE MyClass 
      mysql> desc MyClass; 
      mysql> show columns from MyClass; 
      3、删除表 
      命令:drop table <表名> 
      例如:删除表名为 MyClass 的表 
      mysql> drop table MyClass; 
      4、插入数据 
      命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, 
      ( 值n )] 
      例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩 
      为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为 
      96.5. 
      mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), 
      (2,'Wang', 96.59); 
      5、查询表中的数据 
      1)、查询所有行 
      命令: select <字段1,字段2,...> from < 表名 > where < 表达式 > 
      例如:查看表 MyClass 中所有数据 
      mysql> select * from MyClass; 
      2)、查询前几行数据 
      例如:查看表 MyClass 中前2行数据 
      mysql> select * from MyClass order by id limit 0,2; 
      或者: 
      mysql> select * from MyClass 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(4),默认值为0 
      mysql> alter table MyClass add passtest int(4) 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('  ',content); 
      字段类型 
      1.INT[(M)] 型: 正常大小整数类型 
      2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型 
      3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD 
      格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列 
      4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长 
      度 
      5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。 
      6.VARCHAR型:变长字符串类型 
      5.导入数据库表 
      (1)创建.sql文件 
      (2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat 
      auction,会提示输入密码,然后成功创建。 
      (2)导入auction.sql文件 
      c:mysqlbin>mysql -u root -p auction < auction.sql。 
      通过以上操作,就可以创建了一个数据库auction以及其中的一个表auction 
      。 
      6.修改数据库 
      (1)在mysql的表中增加字段: 
      alter table dbname add column userid int(11) not null primary key 
      auto_increment; 
      这样,就在表dbname中添加了一个字段userid,类型为int(11)。 
      7.mysql数据库的授权 
      mysql>grant select,insert,delete,create,drop 
      on *.* (或test.*/user.*/..) 
      to 用户名@localhost 
      identified by '密码'; 
      如:新建一个用户帐号以便可以访问数据库,需要进行如下操作: 
      mysql> grant usage 
      -> ON test.* 
      -> TO testuser@localhost; 
      Query OK, 0 rows affected (0.15 sec) 
      此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数 
      据库并可以连接到test 数据库。下一步,我们必须指定testuser这个用户可以执 
      行哪些操作: 
      mysql> GRANT select, insert, delete,update 
      -> ON test.* 
      -> TO testuser@localhost; 
      Query OK, 0 rows affected (0.00 sec) 
      此操作使testuser能够在每一个test数据库中的表执行Select,Insert和 
      Delete以及Update查询操作。现在我们结束操作并退出MySQL客户程序: 
      mysql> exit 
      Bye9! 
      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 VARCHAR(20), sex CHAR(1)); 
      6:显示表的结构: 
      mysql> DESCRIBE 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的管理心得, 
      摘 
      自:http://www1.xjtusky.com/article/htmldata/2004_12/3/57/article_1060_1. 
      html 
      在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字段应用PASSWORD 
      函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除 
      ,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段,也可 
      以使用REVOKE操作。 
      下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释: 
      全局管理权限: 
      FILE: 在MySQL服务器上读写文件。 
      PROCESS: 显示或杀死属于其它用户的服务线程。 
      RELOAD: 重载访问控制表,刷新日志等。 
      SHUTDOWN: 关闭MySQL服务。 
      数据库/数据表/数据列权限: 
      Alter: 修改已存在的数据表(例如增加/删除列)和索引。 
      Create: 建立新的数据库或数据表。 
      Delete: 删除表的记录。 
      Drop: 删除数据表或数据库。 
      INDEX: 建立或删除索引。 
      Insert: 增加表的记录。 
      Select: 显示/搜索表的记录。 
      Update: 修改表中已存在的记录。 
      特别的权限: 
      ALL: 允许做任何事(和root一样)。 
      USAGE: 只允许登录--其它什么也不允许做。 
      --------------------- 
      MYSQL常用命令 
      有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接 
      MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。 
      有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从 
      连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。 
      一、连接MYSQL 
      格式: mysql -h主机地址 -u用户名 -p用户密码 
      1、例1:连接到本机上的MYSQL 
      首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p 
      ,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直 
      接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql> 
      2、例2:连接到远程主机上的MYSQL 
      假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则 
      键入以下命令: 
      mysql -h110.110.110.110 -uroot -pabcd123 
      (注:u与root可以不用加空格,其它也一样) 
      3、退出MYSQL命令: exit (回车) 
      二、修改密码 
      格式:mysqladmin -u用户名 -p旧密码 password 新密码 
      1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以 
      下命令 
      mysqladmin -uroot -password ab12 
      注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 
      2、例2:再将root的密码改为djg345 
      mysqladmin -uroot -pab12 password djg345 
      MYSQL常用命令(下) 
      一、操作技巧 
      1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打 
      个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分 
      号作结束标志就OK。 
      2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本 
      不支持。我现在用的是mysql-3.23.27-beta-win。 
      二、显示命令 
      1、显示数据库列表。 
      show databases; 
      刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统 
      信息,我们改密码和新增用户,实际上就是用这个库进行操作。 
      2、显示库中的数据表: 
      use mysql; //打开库,学过FOXBASE的一定不会陌生吧 
      show tables; 
      3、显示数据表的结构: 
      describe 表名; 
      4、建库: 
      create database 库名; 
      5、建表: 
      use 库名; 
      create table 表名 (字段设定列表); 
      6、删库和删表: 
      drop database 库名; 
      drop table 表名; 
      7、将表中记录清空: 
      delete from 表名; 
      8、显示表中的记录: 
      select * from 表名; 
      三、一个建库和建表以及插入数据的实例 
      drop database if exists school; //如果存在SCHOOL则删除 
      create database school; //建立库SCHOOL 
      use school; //打开库SCHOOL 
      create table teacher //建立表TEACHER 
      ( 
      id int(3) auto_increment not null primary key, 
      name char(10) not null, 
      address varchar(50) default '深圳', 
      year date 
      ); //建表结束 
      //以下为插入字段 
      insert into teacher values('','glchengang','深圳一中','1976-10-10'); 
      insert into teacher values('','jack','深圳一中','1975-12-23'); 
      注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动 
      加一:auto_increment并不能为空:not null而且让他成为主字段primary key 
      (2)将NAME设为长度为10的字符字段 
      (3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char 
      有什么区别呢,只有等以后的文章再说了。 
      (4)将YEAR设为日期字段。 
      如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上 
      命令原样写入一个文本文件中假设为school.sql,然后复制到c:\下,并在DOS状态 
      进入目录\mysql\bin,然后键入以下命令: 
      mysql -uroot -p密码 < c:\school.sql 
      如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试 
      ,你只要将//的注释去掉即可使用)。 
      四、将文本数据转到数据库中 
      1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替. 
      例: 
      3 rose 深圳二中 1976-10-10 
      4 mike 深圳一中 1975-12-23 
      2、数据传入命令 load data local infile "文件名" into table 表名; 
      注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在 
      的库 。 
      五、备份数据库:(命令在DOS的\mysql\bin目录下执行) 
      mysqldump --opt school>school.bbb 
      注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件, 
      文件名任取,打开看看你会有新发现。 
      一.Select语句的完整语法为: 
      Select[ALL|DISTINCT|DISTINCTROW|TOP] 
      {*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]} 
      FROM tableexpression[,…][IN externaldatabase] 
      [Where…] 
      [GROUP BY…] 
      [HAVING…] 
      [ORDER BY…] 
      [WITH OWNERACCESS OPTION] 
      说明: 
      用中括号([])括起来的部分表示是可选的,用大括号({})括起来的部分是表示必须 
      从中选择其中的一个。 
      1 FROM子句 
      FROM 子句指定了Select语句中字段的来源。FROM子句后面是包含一个或多个的表 
      达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或由 INNER 
      JOIN、LEFT JOIN 或 RIGHT JOIN 得到的复合结果。如果表或查询存储在外部数据 
      库,在IN 子句之后指明其完整路径。 
      例:下列SQL语句返回所有有定单的客户: 
      Select orderID,Customer.customerID 
      FROM orders Customers 
      Where orders.CustomerID=Customers.CustomeersID 
      2 ALL、DISTINCT、DISTINCTROW、TOP谓词 
      (1) ALL 返回满足SQL语句条件的所有记录。如果没有指明这个谓词,默认为ALL。 
      例:Select ALL FirstName,LastName 
      FROM Employees 
      (2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。 
      (3) DISTINCTROW 如果有重复的记录,只返回一个 
      (4) TOP显示查询头尾若干记录。也可返回记录的百分比,这是要用 TOP N 
      PERCENT子句(其中N 表示百分比) 
      例:返回5%定货额最大的定单 
      Select TOP 5 PERCENT* 
      FROM [ order Details] 
      orDER BY UnitPrice*Quantity*(1-Discount) DESC 
      3 用 AS 子句为字段取别名 
      如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了 
      一个新的值,希望把它放到一个新的列里显示,则用AS保留。 
      例:返回FirstName字段取别名为NickName 
      Select FirstName AS NickName ,LastName ,City 
      FROM Employees 
      例:返回新的一列显示库存价值 
      Select ProductName ,UnitPrice ,UnitsInStock ,UnitPrice*UnitsInStock AS 
      valueInStock 
      FROM Products 
      二 .Where 子句指定查询条件 
      1 比较运算符 
      比较运算符 含义 
      = 等于 
      > 大于 
      < 小于 
      >= 大于等于 
      <= 小于等于 
      <> 不等于 
      !> 不大于 
      !< 不小于 
      例:返回96年1月的定单 
      Select orderID, CustomerID, orderDate 
      FROM orders 
      Where orderDate>#1/1/96# AND orderDate<#1/30/96# 
      注意: 
      Mcirosoft JET SQL 中,日期用'#'定界。日期也可以用Datevalue()函数来代替。 
      在比较字符型的数据时,要加上单引号'',尾空格在比较中被忽略。 
      例: 
      Where orderDate>#96-1-1# 
      也可以表示为: 
      Where orderDate>Datevalue('1/1/96') 
      使用 NOT 表达式求反。 
      例:查看96年1月1日以后的定单 
      Where Not orderDate<=#1/1/96# 
      2 范围(BETWEEN 和 NOT BETWEEN) 
      BETWEEN …AND…运算符指定了要搜索的一个闭区间。 
      例:返回96年1月到96年2月的定单。 
      Where orderDate Between #1/1/96# And #2/1/96# 
      3 列表(IN ,NOT IN) 
      IN 运算符用来匹配列表中的任何一个值。IN子句可以代替用OR子句连接的一连串 
      的条件。 
      例:要找出住在 London、Paris或Berlin的所有客户 
      Select CustomerID, CompanyName, ContactName, City 
      FROM Customers 
      Where City In('London',' Paris',' Berlin') 
      4 模式匹配(LIKE) 
      LIKE运算符检验一个包含字符串数据的字段值是否匹配一指定模式。 
      LIKE运算符里使用的通配符 
      通配符 含义 
      ? 任何一个单一的字符 
      * 任意长度的字符 
      # 0~9之间的单一数字 
      [字符列表] 在字符列表里的任一值 
      [!字符列表] 不在字符列表里的任一值 
      - 指定字符范围,两边的值分别为其上下限 
      例:返回邮政编码在(171)555-0000到(171)555-9999之间的客户 
      Select CustomerID ,CompanyName,City,Phone 
      FROM Customers 
      Where Phone Like '(171)555-####' 
      LIKE运算符的一些样式及含义 
      样式 含义 不符合 
      LIKE 'A*' A后跟任意长度的字符 Bc,c255 
      LIKE'5[*]' 5*5 555 
      LIKE'5?5' 5与5之间有任意一个字符 55,5wer5 
      LIKE'5##5' 5235,5005 5kd5,5346 
      LIKE'[a-z]' a-z间的任意一个字符 5,% 
      LIKE'[!0-9]' 非0-9间的任意一个字符 0,1 
      LIKE'[[]' 1,* 
      三 .用ORDER BY子句排序结果 
      orDER子句按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可 
      以是降序(DESC),缺省是升序。ORDER子句通常放在SQL语句的最后。 
      orDER子句中定义了多个字段,则按照字段的先后顺序排序。 
      例: 
      Select ProductName,UnitPrice, UnitInStock 
      FROM Products 
      orDER BY UnitInStock DESC , UnitPrice DESC, ProductName 
      orDER BY 子句中可以用字段在选择列表中的位置号代替字段名,可以混合字段名 
      和位置号。 
      例:下面的语句产生与上列相同的效果。 
      Select ProductName,UnitPrice, UnitInStock 
      FROM Products 
      orDER BY 1 DESC , 2 DESC,3 
      四 .运用连接关系实现多表查询 
      例:找出同一个城市中供应商和客户的名字 
      Select Customers.CompanyName, Suppliers.ComPany.Name 
      FROM Customers, Suppliers 
      Where Customers.City=Suppliers.City 
      例:找出产品库存量大于同一种产品的定单的数量的产品和定单 
      Select ProductName,OrderID, UnitInStock, Quantity 
      FROM Products, [Order Deails] 
      Where Product.productID=[Order Details].ProductID 
      AND UnitsInStock>Quantity 
      另一种方法是用 Microsof JET SQL 独有的 JNNER JOIN 
      语法: 
      FROM table1 INNER JOIN table2 
      ON table1.field1 comparision table2.field2 
      其中comparision 就是前面Where子句用到的比较运算符。 
      Select FirstName,lastName,OrderID,CustomerID,OrderDate 
      FROM Employees 
      INNER JOIN orders ON Employees.EmployeeID=Orders.EmployeeID 
      注意: 
      INNER JOIN不能连接Memo OLE Object Single Double 数据类型字段。 
      在一个JOIN语句中连接多个ON子句 
      语法: 
      Select fields 
      FROM table1 INNER JOIN table2 
      ON table1.field1 compopr table2.field1 AND 
      ON table1.field2 compopr table2.field2 or 
      ON table1.field3 compopr table2.field3 
      也可以 
      Select fields 
      FROM table1 INNER JOIN 
      (table2 INNER JOIN [( ]table3 
      [INNER JOER] [( ]tablex[INNER JOIN] 
      ON table1.field1 compopr table2.field1 
      ON table1.field2 compopr table2.field2 
      ON table1.field3 compopr table2.field3 
      外部连接返回更多记录,在结果中保留不匹配的记录,不管存不存在满足条件的记 
      录都要返回另一侧的所有记录。 
      FROM table [LEFT|RIGHT]JOIN table2 
      ON table1.field1comparision table.field2 
      用左连接来建立外部连接,在表达式的左边的表会显示其所有的数据 
      例:不管有没有定货量,返回所有商品 
      Select ProductName ,OrderID 
      FROM Products 
      LEFT JOIN orders ON Products.PrductsID=Orders.ProductID 
      右连接与左连接的差别在于:不管左侧表里有没有匹配的记录,它都从左侧表中返 
      回所有记录。 
      例:如果想了解客户的信息,并统计各个地区的客户分布,这时可以用一个右连接 
      ,即使某个地区没有客户,也要返回客户信息。 
      空值不会相互匹配,可以通过外连接才能测试被连接的某个表的字段是否有空值。 
      Select * 
      FROM talbe1 
      LEFT JOIN table2 ON table1.a=table2.c 
      1 连接查询中使用Iif函数实现以0值显示空值 
      Iif表达式: Iif(IsNull(Amount,0,Amout) 
      例:无论定货大于或小于¥50,都要返回一个标志。 
      Iif([Amount]>50,?Big order?,?Small order?) 
      五. 分组和总结查询结果 
      在SQL的语法里,GROUP BY和HAVING子句用来对数据进行汇总。GROUP BY子句指明 
      了按照哪几个字段来分组,而将记录分组后,用HAVING子句过滤这些记录。 
      GROUP BY 子句的语法 
      Select fidldlist 
      FROM table 
      Where criteria 
      [GROUP BY groupfieldlist [HAVING groupcriteria]] 
      注:Microsoft Jet数据库 Jet 不能对备注或OLE对象字段分组。 
      GROUP BY字段中的Null值以备分组但是不能被省略。 
      在任何SQL合计函数中不计算Null值。 
      GROUP BY子句后最多可以带有十个字段,排序优先级按从左到右的顺序排列。 
      例:在'WA'地区的雇员表中按头衔分组后,找出具有同等头衔的雇员数目大于1人 
      的所有头衔。 
      Select Title ,Count(Title) as Total 
      FROM Employees 
      Where Region = 'WA' 
      GROUP BY Title 
      HAVING Count(Title)>1 
      JET SQL 中的聚积函数 
      聚集函数 意义 
      SUM ( ) 求和 
      AVG ( ) 平均值 
      COUNT ( ) 表达式中记录的数目 
      COUNT (* ) 计算记录的数目 
      MAX 最大值 
      MIN 最小值 
      VAR 方差 
      STDEV 标准误差 
      FIRST 第一个值 
      LAST 最后一个值 
      六. 用Parameters声明创建参数查询 
      Parameters声明的语法: 
      PARAMETERS name datatype[,name datatype[, …]] 
      其中name 是参数的标志符,可以通过标志符引用参数. 
      Datatype说明参数的数据类型. 
      使用时要把PARAMETERS 声明置于任何其他语句之前. 
      例: 
      PARAMETERS[Low price] Currency,[Beginning date]datatime 
      Select orderID ,OrderAmount 
      FROM orders 
      Where orderAMount>[low price] 
      AND orderDate>=[Beginning date] 
      七. 功能查询 
      所谓功能查询,实际上是一种操作查询,它可以对数据库进行快速高效的操作.它以 
      选择查询为目的,挑选出符合条件的数据,再对数据进行批处理.功能查询包括更新 
      查询,删除查询,添加查询,和生成表查询. 
      1 更新查询 
      Update子句可以同时更改一个或多个表中的数据.它也可以同时更改多个字段的值. 
      更新查询语法: 
      Update 表名 
      SET 新值 
      Where 准则 
      例:英国客户的定货量增加5%,货运量增加3% 
      Update OEDERS 
      SET orderAmount = orderAmount *1.1 
      Freight = Freight*1.03 
      Where ShipCountry = 'UK' 
      2 删除查询 
      Delete子句可以使用户删除大量的过时的或冗于的数据. 
      注:删除查询的对象是整个记录. 
      Delete子句的语法: 
      Delete [表名.*] 
      FROM 来源表 
      Where 准则 
      例: 要删除所有94年前的定单 
      Delete * 
      FROM orders 
      Where orderData<#94-1-1# 
      3 追加查询 
      Insert子句可以将一个或一组记录追加到一个或多个表的尾部. 
      INTO 子句指定接受新记录的表 
      valueS 关键字指定新记录所包含的数据值. 
      Insert 子句的语法: 
      INSETR INTO 目的表或查询(字段1,字段2,…) 
      valueS(数值1,数值2,…) 
      例:增加一个客户 
      Insert INTO Employees(FirstName,LastName,title) 
      valueS('Harry','Washington','Trainee') 
      4 生成表查询 
      可以一次性地把所有满足条件的记录拷贝到一张新表中.通常制作记录的备份或副 
      本或作为报表的基础. 
      Select INTO子句用来创建生成表查询语法: 
      Select 字段1,字段2,… 
      INTO 新表[IN 外部数据库] 
      FROM 来源数据库 
      Where 准则 
      例:为定单制作一个存档备份 
      Select * 
      INTO ordersArchive 
      FROM orders 
      八. 联合查询 
      UNION运算可以把多个查询的结果合并到一个结果集里显示. 
      UNION运算的一般语法: 
      [表]查询1 UNION [ALL]查询2 UNION … 
      例:返回巴西所有供给商和客户的名字和城市 
      Select CompanyName,City 
      FROM Suppliers 
      Where Country = 'Brazil' 
      UNION 
      Select CompanyName,City 
      FROM Customers 
      Where Country = 'Brazil' 
      注: 
      缺省的情况下,UNION子句不返回重复的记录.如果想显示所有记录,可以加ALL选项 
      UNION运算要求查询具有相同数目的字段.但是,字段数据类型不必相同. 
      每一个查询参数中可以使用GROUP BY 子句 或 HAVING 子句进行分组.要想以指定 
      的顺序来显示返回的数据,可以在最后一个查询的尾部使用OREER BY子句. 
      九. 交叉查询 
      交叉查询可以对数据进行总和,平均,计数或其他总和计算法的计算,这些数据通过 
      两种信息进行分组:一个显示在表的左部,另一个显示在表的顶部. 
      Microsoft Jet SQL 用TRANSFROM语句创建交叉表查询语法: 
      TRANSFORM aggfunction 
      Select 语句 
      GROUP BY 子句 
      PIVOT pivotfield[IN(value1 [,value2[,…]]) ] 
      Aggfounction指SQL聚积函数, 
      Select语句选择作为标题的的字段, 
      GROUP BY 分组 
      说明: 
      Pivotfield 在查询结果集中创建列标题时用的字段或表达式,用可选的IN子句限制 
      它的取值. 
      value代表创建列标题的固定值. 
      例:显示在1996年里每一季度每一位员工所接的定单的数目: 
      TRANSFORM Count(OrderID) 
      Select FirstName&''&LastName AS FullName 
      FROM Employees INNER JOIN orders 
      ON Employees.EmployeeID = orders.EmployeeID 
      Where DatePart("yyyy",OrderDate)= '1996' 
      GROUP BY FirstName&''&LastName 
      orDER BY FirstName&''&LastName 
      POVOT DatePart("q",OrderDate)&'季度' 
      十 .子查询 
      子查询可以理解为 套查询.子查询是一个Select语句. 
      1 表达式的值与子查询返回的单一值做比较 
      语法: 
      表达式 comparision [ANY|ALL|SOME](子查询) 
      说明: 
      ANY 和SOME谓词是同义词,与比较运算符(=,<,>,<>,<=,>=)一起使用.返回一个布尔 
      值True或 False.ANY的意思是,表达式与子查询返回的一系列的值逐一比较,只要其 
      中的一次比较产生True结果,ANY测试的返回 True值(既Where子句的结果),对应于 
      该表达式的当前记录将进入主查询的结果中.ALL测试则要求表达式与子查询返回的 
      一系列的值的比较都产生 True结果,才回返回True值. 
      例:主查询返回单价比任何一个折扣大于等于25%的产品的单价要高的所有产品 
      Select * FROM Products 
      Where UnitPrice>ANY 
      (Select UnitPrice FROM[Order Details] Where Discount>0.25) 
      2 检查表达式的值是否匹配子查询返回的一组值的某个值 
      语法: 
      [NOT]IN(子查询) 
      例:返回库存价值大于等于1000的产品. 
      Select ProductName FROM Products 
      Where ProductID IN 
      (Select PrdoctID FROM [Order DEtails] 
      Where UnitPrice*Quantity>= 1000) 
      3检测子查询是否返回任何记录 
      语法: 
      [NOT]EXISTS (子查询) 
      例:用EXISTS检索英国的客户 
      Select ComPanyName,ContactName 
      FROM orders 
      Where EXISTS 
      (Select * 
      FROM Customers 
      Where Country = 'UK' AND 
      Customers.CustomerID= orders.CustomerID) 
      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 VARCHAR(20), sex CHAR(1)); 
      6:显示表的结构: 
      mysql> DESCRIBE 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的管理心得, 
      摘自:http://www1.xjtusky.com/article/htmldata/2004_12/3/57/article_1060_1.html 
      在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字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段,也可以使用REVOKE操作。 
      下面给出本人从其它资料(www.cn-java.com)获得的对常用权限的解释: 
      全局管理权限: 
      FILE: 在MySQL服务器上读写文件。 
      PROCESS: 显示或杀死属于其它用户的服务线程。 
      RELOAD: 重载访问控制表,刷新日志等。 
      SHUTDOWN: 关闭MySQL服务。 
      数据库/数据表/数据列权限: 
      Alter: 修改已存在的数据表(例如增加/删除列)和索引。 
      Create: 建立新的数据库或数据表。 
      Delete: 删除表的记录。 
      Drop: 删除数据表或数据库。 
      INDEX: 建立或删除索引。 
      Insert: 增加表的记录。 
      Select: 显示/搜索表的记录。 
      Update: 修改表中已存在的记录。 
      特别的权限: 
      ALL: 允许做任何事(和root一样)。 
      USAGE: 只允许登录--其它什么也不允许做。 
      1、MySQL常用命令 
      create database name; 创建数据库 
      use databasename; 选择数据库 
      drop database name 直接删除数据库,不提醒 
      show tables; 显示表 
      describe tablename; 表的详细描述 
      select 中加上distinct去除重复字段 
      mysqladmin drop databasename 删除数据库前,有提示。 
      显示当前mysql版本和当前日期 
      select version(),current_date; 
      2、修改mysql中root的密码: 
      shell>mysql -u root -p 
      mysql> update user set password=password(”xueok654123″) where user='root'; 
      mysql> flush privileges //刷新数据库 
      mysql>use dbname; 打开数据库: 
      mysql>show databases; 显示所有数据库 
      mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后 
      mysql>describe user; 显示表mysql数据库中user表的列信息); 
      3、grant 
      创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个 
      mysql> grant all privileges on *.* to user@localhost identified by 'something' with 
      增加新用户 
      格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码” 
      GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; 
      GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY 'something' WITH GRANT OPTION; 
      删除授权: 
      mysql> revoke all privileges on *.* from root@”%”; 
      mysql> delete from user where user=”root” and host=”%”; 
      mysql> flush privileges; 
      创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb 
      mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd' 
      重命名表: 
      mysql > alter table t1 rename t2; 
      4、mysqldump 
      备份数据库 
      shell> mysqldump -h host -u root -p dbname >dbname_backup.sql 
      恢复数据库 
      shell> mysqladmin -h myhost -u root -p create dbname 
      shell> mysqldump -h host -u root -p dbname < dbname_backup.sql 
      如果只想卸出建表指令,则命令如下: 
      shell> mysqladmin -u root -p -d databasename > a.sql 
      如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下: 
      shell> mysqladmin -u root -p -t databasename > a.sql 
      那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢? 
      mysqldump -T./ phptest driver 
      其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。 
      5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查 
      询,可如下执行这些查询: 
      例如,如果您想将建表语句提前写在sql.txt中: 
      mysql > mysql -h myhost -u root -p database < sql.txt 
      // 启动服务 
      mysqld --console 
      // 停止服务 
      mysqladmin -u root shutdown 
      // 登录后使用数据库 mysql 
      mysql -u root -p mysql 
      mysql -u root -p -h 11.11.11.11 database 
      // 创建数据库 
      create database db_name [default character set=gbk] 
      // 设置数据库默认字符集 
      alter databse db_name default character set gbk 
      // 更换数据库 use database test after log on 
      use test 
      // 创建一个带图像字段的表 create a table mypic to store picture 
      create table mypic (picid int, picname varchar(20), content blob); 
      // 显示表的结构 describe table mypic 
      desc mypic 
      // 显示当前表的建表语句 
      show create table table_name 
      // 更改表类型 
      alter table table_name engine innodb|myisam|memory 
      // 插入一条记录 insert a record 
      insert into mypic values (1, '第二章', 0x2134545); 
      // 显示当前用户 show current user 
      select user(); 
      // 显示当前用户密码 show current password 
      select password('root'); 
      // 显示当前日期 show current date 
      select now(); 
      // 更改用户密码 change user password 
      update user set password=password('xxx') where user='root'; 
      // 分配用户权限 grant 
      grant all privileges on *.* toroot@localhost 
      grant select,insert,delete,update,alter,create,drop on lybbs.* tolybbs@"%" identified by "lybbs"; 
      grant select,insert,delete,update,alter,create,drop on lybbs.* tolybbs@localhostidentified by "lybbs"; 
      // 在不重启的情况下刷新用户权限 flush privileges 
      flush privileges 
      // 向表中增加一个主键 add primary key 
      alter table mypic add primary key (picid) 
      // 修改表结构增加一个新的字段 add a new column userid after picid 
      alter table mypic add column userid int after picid 
      // 更改列类型,当存储图像过大时,使用默认blob超不过100k 
      alter table userpic change image image longblob; 
      alter table userpic modify image longblob; 
      // 设置默认字符集为gb2312 
      mysqld --default-character-set=gb2312 
      // 显示详细信息,包括字符集编码 
      show full columns from userpic; 
      // 改变表的编码 
      Alter TABLE userpic CHARACTER SET gb2312; 
      // mysql jdbc连接url 使用中文 
      jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312 
      // 执行外部脚本 
      source 

    展开全文
  • mysql命令:为mysql命令指定字符集

    千次阅读 2019-08-02 17:17:53
    mysql命令指定字符集:方法1 mysql -hlocalhost -P3306 -uroot --default-character-set=gbk mysql命令指定字符集:方法2 name gbk 验证字符集是否设置 SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\...
  • mysql不是内部或者外部命令解决方案 当我们安装好mysql打算愉快的进行使用时, 在命令行输入mysql的一些命令竟然是下面这般情景 what? 其实这个 原因也很简单, 因为你还没配置环境变量呢 首先我们要找到mysql的...
  • docker安装mysql后无法执行mysql命令

    千次阅读 2020-07-01 11:17:27
    [linux]docker安装mysql后无法执行mysql命令 1.系统配置 centos 7 docker 19.03.12 2.安装mysql docker pull mysql #拉取mysql docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql #...
  • 如何进入mysql命令界面

    千次阅读 2020-02-19 20:52:58
    1. 找到安装mysql安装路径,复制bin目录地址,eg:D:\install\mysql\bin 2.进入cmd命令窗口 3.因为安装到D盘,进入D盘的盘符,输入D:。直接输入cdD:\install\mysql\bin是无效的 ...此时即进入了mysql命令界面 ...
  • 1、找到mysql/bin 的位置 2、添加环境变量 vim /etc/profile export PATH=$PATH://usr/local/mysql/bin 或 export PATH=$PATH://usr/local/mysql/bin &gt;&gt; /etc/profile 3、 让配置文件立即...
  • win10无法在cmd中使用mysql命令

    千次阅读 2019-09-05 10:19:29
    本机已经安装了MySQL,而且服务已启动,也配置了环境变量MYSQ_HOME,但是在cmd中扔无法使用mysql命令,报ERROR 1045 (28000)。 2、解决 打开win 打开MySQL命令行 输入密码 在这里就可以使用mysql命令了...
  • docker 启动mysql命令

    千次阅读 2018-09-09 12:22:29
    docker run --privileged=true --name mysql -p 3306:3306 -v /home/zhengyunfei/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql:5.6  复制容器内的配置文件到宿主机 ...
  • mysql命令(一)进入数据库

    万次阅读 2020-04-08 16:10:33
    mysql -u用户名 -p密码 增删查数据库 # sql语句后一般要加分号 create database 数据库名 default character set 编码格式 collate 校对规则; # 常见编码:utf8 # 常见规则: utf8_general_ci(字符串大小写不...
  • MySQL 命令窗口

    千次阅读 2018-08-09 10:00:09
    mysql\bin 目录内,按住 SHIFT 右击目录空白处,在此处打开命令窗口。登陆后可执行各种 SQL 命令mysql -h 127.0.0.1 -u root -p mysql -h localhost -uroot -p mysql -uroot //省略服务器,无密码 exit //...
  • mysql命令-删除数据

    千次阅读 2019-09-21 17:18:39
    mysql命令-删除数据 语法格式: delete from table_name [where condition]; # "table_name" 指定要执行删除操作的表; # “[where condition]” 为可选参数,指定条件,如果没有where子句,delete语句将删除表中的...
  • MySQL 命令无效问题

    千次阅读 2017-10-21 15:55:25
    oot@DB-02 ~]# mysql -u root -bash: mysql: command not found 原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个...首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:
  • Mysql命令窗口selcct记录行换行显示

    千次阅读 2019-06-04 17:12:05
    mysql命令窗口里敲命令,查询结果打印出来,一大坨东西,具体哪个值对应哪个字段,肉眼非常难找。如下: 解决方法:在命令末尾;号前添加\G mysql命令窗口会一行一个字段显示查询结果,这样方便多了,...
  • shell脚本执行mysql命令

    千次阅读 2019-06-24 17:17:05
    1、mysql -h IP -P端口 -u用户名 -p密码 数据库名 << EOF sql语句; sql语句; EOF 注:表名、字段不能使用单引号,需要修改原有sql语句 2、mysql -h IP -P端口 -u用户名 -p密码 数据库名--default-...
  • linux下备份mysql命令

    千次阅读 2019-04-03 09:13:07
    #/usr/local/mysql/bin/mysql -u root -p ***** myblog 这种方法,我以前经常现在很少用了,因为很容易产生乱码,因为: a,导出数据库时,你如果忘了设置导出字符集的话,在导入的时候,就有可能会出问题. ...
  • 前几天租了个阿里云的云服务器... 首先我直接用yum install mysql*安装了所有关于mysql的东西,然后我就尝试用命令mysql去连接数据库,我查看mysql的状态发现就无法找到mysql服务 [root@izm5e5z2sx1y7auxdlj6x0z ...
  • 因个人需要,在阿里购买了一个轻量应用服务器,服务器配好 LAMP 环境,但奇怪是的我想登录 MySql,却提示命令找不到! 查看 MySQL 运行状态,却是 Active (running)! 提交了阿里工单,可是感觉客服是答非所问...
  • 登录MySQL命令mysqlmysql 的使用语法如下:   mysql [-u username] [-h host] [-p[password]] [dbname]   username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,...
  • 【服务器】Linux下MySQL命令查找不到

    千次阅读 2017-12-04 20:34:54
    root@DB-02 ~]# mysql -u root -bash: mysql: command not found 原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会...首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql
  • ubuntu安装mysql命令

    千次阅读 2018-04-06 11:17:12
    安装命令:  ①sudo apt-get update  ②sudo apt-get install mysql-server  ③sudo apt install mysql-client  ④sudo apt install libmysqlclient-dev 测试命令:  ⑤systemctl status ...
  • MySQL命令执行脚本文件

    千次阅读 2018-08-21 14:31:34
    windows下使用cmd命令执行,unix或linux在的其控制台下 【Mysql的bin目录】\mysql -u用户名 -p密码 -D要导入到的数据库名&lt;【sql脚本文件路径全名】 windows: D:\mysql\bin&gt;mysql -uroot -p123...
  • MySQL命令输错,命令行出现 ‘>,而不是箭头->

    千次阅读 多人点赞 2019-10-09 15:49:28
    MySQL命令输错,命令行出现( '>),而不是箭头(->),命令行不接受命令,解决方案。 例:在表instructor 里插入一行数据时,本应该输入insert into instructor values(76543,‘Singh’,‘Finance’,80000);但少...
  • 清空MYSQL命令历史记录

    千次阅读 2018-08-12 08:16:33
    先退出mysql,然后清空$HOME/.mysql_history.比如: echo '' &gt; $HOME/.mysql_history 如果在没有退出mysql的情况下,清空完.mysql_history文件,在退出mysql后,mysql会把缓存中的历史记录再次写入.mysql_...
  • 使用bat脚本执行MySQL命令时遇到的坑

    千次阅读 2018-08-31 16:04:08
    相关文章:(推荐)bat脚本执行mysql命令导入sql文件到数据库 https://blog.csdn.net/womenrendeme/article/details/75799515   背景: 作为一个初级小白,因为前段时间接触了项目的实施部署,发现,在数据库...
  • mac 终端启动关闭mysql命令

    千次阅读 2019-04-07 09:08:46
    sudo /usr/local/mysql/support-files/mysql.server start sudo /usr/local/mysql/support-files/mysql.server stop

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 698,337
精华内容 279,334
关键字:

mysql命令

mysql 订阅