启动 / 关闭MySQL的命令:
先将操作目录移到安装目录下的bin目录下
mysqld install
net start mysql
net stop mysql
增加用户:
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
一些常用的命令:
use 库名;
1. 导出数据:
mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2. 导入数据:
修改字符集:
系统变量:
– character_set_server:默认的内部操作字符集
– character_set_client:客户端来源数据使用的字符集
– character_set_connection:连接层字符集
– character_set_results:查询结果字符集
– character_set_database:当前选中数据库的默认字符集
– character_set_system:系统元数据(字段名等)字符集
– 还有以collation_开头的同上面对应的变量,用来描述字符序。
检测字符集问题的一些手段
SHOW CHARACTER SET;
SHOW COLLATION;
SHOW VARIABLES LIKE ‘character%’;
SHOW VARIABLES LIKE ‘collation%’;
SQL函数HEX、LENGTH、CHAR_LENGTH
SQL函数CHARSET、COLLATION
还有一种修改字符集的方法,就是使用mysql的命令
mysql> SET character_set_client = utf8 ;
mysql> SET character_set_connection = utf8 ;
mysql> SET character_set_database = utf8 ;
mysql> SET character_set_results = utf8 ;
mysql> SET character_set_server = utf8 ;
mysql> SET collation_connection = utf8 ;
mysql> SET collation_database = utf8 ;
mysql> SET collation_server = utf8 ;
Mysql命令
show语句
mysql> show databases; //显示数据库
1.show databases ; // 显示mysql中所有数据库的名称
2.show tables [from database_name]; // 显示当前数据库中所有表的名称
3.show columns from table_name ; // 显示表中列名称 ,和desc tablename 相同
4.show [full] processlist;//正在运行的所有进程信息
5.show grants for user_name; // 显示一个用户的权限,显示结果类似于grant 命令
6.show [gloabl | session] variables [like '%keyword%']; // 显示系统变量的名称和值
7.show [gloabl | session] status [like '%keyword%']; // 提供服务器状态信息。使用GLOBAL选项,您可以得到所有MySQL连接的状态值。使用SESSION,您可以得到所有当前连接的状态值。默认为SESSION。
8.show index from tb_name [from db_name]; // 显示表的索引
9.show privileges; // 显示服务器支持的权限
10.show table status [from db_name] [like '%keyword%']; // 显示当前数据库或者指定的database中的每个表的信息,信息包括表类型、创建时间和表的最新更新时间 。
11.show create database database_name; // 显示create database 语句
12.show create table tab_name; // 显示create table 语句
13.show innodb status; // 显示innoDB存储引擎的状态
14.show logs; // 显示BDB存储引擎的日志
15.show warnings; // 显示最后一个执行的语句所产生的错误、警告和通知
16.show errors; // 显示最后一个执行语句所产生的错误
17.show character set [like '%pattern%'];//用于显示可用字符集,like对表的charset字段进行匹配
18.show collation [ like 'latin1%'] ; //用于显示所有可用字符集的排序方式,like对表中Collation字段进行匹配。
19.show full columns from tab_name [like '%user%‘] ;//显示在一个给定表中的各列的信息,FULL关键词会使得输出中包含您拥有的权限,并包含对每一列各自的评注,like对列名进行匹配。
20.show engine innodb logs;//显示存储引擎的日志或状态信息
21.show [storage] engines;//显示存储引擎的状态信息。可以查看一个存储引擎是否被支持,以及默认引擎是什么。
22.show grants;
show grants for username;
show grants for current_user;
show grants for current_user();
23.show open tables [from dbname] [like '%keyword%'];//列举在表缓存中当前被打开的非TEMPORARY表。
24.show triggers [from db_name] [like '%keyword%'];//列出了目前被MySQL服务器定义的触发程序。LIKE子句的待匹配的表达式(expr)会与触发程序定义时所在的表的名称相比较,而不与触发程序的名称相比较。
25.show create procedure sp_name;//显示某个存储过程的详细信息
常用的sql语句
一、表的导入导出语句及时间字符串部分处理函数
导出数据库所有表的结构 mysqldump -uroot -proot db_name -d > d:/export_db.sql(结尾不用分号)
导出数据库某个表的结构 mysqldump -uroot -proot db_name table_name -d > d:/export_table.sql(结尾不用分号)
导入SQL文件 source e:/test.sql;
清空表 truncate table table_name;
利用正则删除全英文的记录 delete from table_name where (select name REGEXP '^[-&(),.a-zA-Z_;[:blank:] ]+$')=1
当前时间加4小时 select date_add(now(), interval 4 hour); 输出:2009-10-27 12:47:57
连接字符串 select concat('first',' end') ; 输出:first end
替换字符串 select replace('abcabc','a','e'); 输出:ebcebc
二、select into 和 insert into select 两种表复制语句
select * into destTbl from srcTbl
insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl
以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的:
* 第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。
* 第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量