实用的 MySQL sql 语句

实用的 MySQL sql 语句:

这儿只讲究实用,  程序员编程时常用到的 MySQL的 sql语句(不包括基本的 select, update, delete 等语句).


1. 添加一个用户build,并赋予所有权限的命令

[html] view plain copy print ?
  1. grant all privileges on *.* to build@'%' identified by 'build' ;  

或者


[html] view plain copy print ?
  1. grant all privileges on *.* to build@localhost identified by 'build' ;  

(只授予本地localhost 的所有权限)



2. 命令行窗口登录的命令



[html] view plain copy print ?
  1. mysql -uusername -ppassword [db_name]  



[db_name] 如果指定,则进入具体的数据库, 示例:


[html] view plain copy print ?
  1. mysql -ubuild -pbuild mysql  



3.用gbk字符编码在命令行显示中文



[html] view plain copy print ?
  1. set names gbk;  

同理,我设置其他编码,如: set names utf8


4. 切换数据库


[html] view plain copy print ?
  1. use db_name;  




5.运行脚本


[html] view plain copy print ?
  1. source sql_file  

source命令的注意点:

1). 在windows中文件路径 要用 / 替换 默认的路径符 \ , 如: source F:/project/sql/init.ddl

2). 如果sql_file中有中文内容,则需要保证sql_file的字符编码与数据库的编码一致,并在运行source 命令之前运行  set names 命令.

    如数据库编码为utf8,  1), 确保脚本文件(.sql, .ddl)的字符编码是utf8 ;  在运行 source 命令前先执行命令:  set names utf8 (也可将此命令放入sql_file中)


6. dump 数据库

在命令行窗口运行命令,如下:

[html] view plain copy print ?
  1. mysqldump -u<username> -p<password> db_name > outfile_path  

一个例子:


mysqldump -ubuild -pbuild mysql > e:/mysql.sql

默认是dump表结构与数据, 如果只dump表结构,不需要数据, 则命令如下:


[html] view plain copy print ?
  1. mysqldump --opt -d <db_name> -u<username> -p<password>> outfile_path  


一个例子:


mysqldump --opt -d mysql -ubuild -pbuild > e:/mysql.sql



7.查询限制返回结果集(可实现分页)

使用 limit关键字,举例.


[html] view plain copy print ?
  1. select * from user_ order by user_name limit 10,10  


[html] view plain copy print ?
  1. select * from user_ order by user_name limit 10  


limit后面可带两个参数或一个参数,


两个参数:  第一个参数指定开始的位置, 第二个参数指定抓取的条数

一个参数: 从第一条开始, 抓取指定的条数



8. 查看建表的SQL语句


[html] view plain copy print ?
  1. show create table table_name  




9.创建数据库(若不存在才创建,并指定数据库字符编码为utf8)


[html] view plain copy print ?
  1. create database if not exists db_name default character set utf8;  



10.删除表数据(保留表结构)



[html] view plain copy print ?
  1. truncate table_name  




11. 创建表(在创建之前先判断该表是否已经存在,若存在则删除)


[html] view plain copy print ?
  1. Drop table  if exists cooking_user_group;  

  2. CREATE TABLE `cooking_user_group` (  

  3.  `id` int(11) NOT NULL auto_increment,  

  4.  `guid` varchar(255) not null unique,  

  5.  `create_time` datetime ,  

  6.  `archived` tinyint(1) default '0',  

  7.  `name_` varchar(255),  

  8.  PRIMARY KEY  (`id`)  

  9. ) ENGINE=InnoDBAUTO_INCREMENT=20 DEFAULT CHARSET=utf8;  


cooking_user_group 为表名


id为主键并自增长,并指定从20开始(20之前的为保留id).

engine为InnonDB,支持事务

表的默认字符编码为utf8




转载自:http://blog.csdn.net/monkeyking1987/article/details/10202857



你可能感兴趣的:(mysql)