MySQL操作常用命令

Time:2010-03-04 02:03:31. Author:millken. Category:技术.

<p>一、操作库</p>

--列出有所有的数据库
mysql> show databases; 

--创建库 例如创建名字为jgcao的库
mysql> create database jgcao;

--使用库 例如使用名字为jgcao的库
mysql> use jgcao;

-- 删除库 例如删除名字为jgcao的库
mysql> drop database jgcao;

<p>二、操作表</p>
--创建表 例如创建表test
mysql> create table test;

--有条件创建表 例如创建表test
mysql> create table if not exists test;

--复制表
mysql> create table new_test select * from test;

--创建临时表 例如创建表test
mysql> create temporary table test;

-- 查看可用表
mysql> show tables;

--查看表结构 例如查看表test的表结构
mysql> show columns in test;

--删除表 例如删除表test
mysql> drop table test ;

--表的详细描述 例如查询表test的描述
mysql> describe tablename;

--修改表结构
mysql> alter table `test` ADD `date` int( 11 ) \
mysql> NOT NULL DEFAULT '0' after `id`;
mysql> alter table `test` change `date` `timestamp` \
mysql> int( 11 ) NOT NULL DEFAULT '0' ;
mysql> alter table `test` drop `date`;

<p>四、数据操作</p>
--增加新行
mysql> INSERT INTO 表名称 VALUES (值1, 值2,....)

--指定列名插入
mysql> INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

--更新修改数据
mysql> UPDATE 表名称 SET 列名称 = 新值,列名称2 = 新值2 WHERE 列名称 = 某值

--删除行
mysql> DELETE FROM 表名称 WHERE 列名称 = 值

--删除所有行
mysql> DELETE FROM table_name;
mysql> DELETE * FROM table_name;


<p>五、查询数据</p>
--查询结果
mysql> SELECT now();

--从数据库中,查询一个列或多个列
mysql> SELECT 列名称 FROM 表名称

--从数据库中,查询全部列
mysql> SELECT * FROM 表名

--返回唯一值,就是不要重复的值
mysql> SELECT DISTINCT 列名称 FROM 表名称

--表联合查询
mysql> SELECT 列名称 FROM 表名称1 [INNER | CROSS | LEFT | OUT] join 表名称2 on 两个表连接条件

--条件查询
mysql> SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

-- =   等于
-- <>   不等于
-- >   大于
-- <   小于
-- >=   大于等于
-- <=   小于等于
-- BETWEEN   在某个范围内
-- LIKE   搜索某种模式
-- AND 与
-- OR 或

--排序语句
mysql> SELECT 列名,列名 FROM 表名 ORDER BY 被排序的列名 DESC(加这句可以降序排列)

--分组语句
mysql> SELECT 列名,列名 FROM 表名 GROUP BY 被排序的列名

--分段查询,offset:开始记录;rows:记录数量
mysql> SELECT 列名,列名 FROM 表名 LIMIT offset,rows

<p>六、修改mysql中root的密码:</p>

--登录mysql
shell> mysql -u root -p

--修改用户密码
mysql> update user set password=password("password") \
mysql> where user=’root’;

--刷新数据库
mysql> flush privileges

<p>七、授权用户</p>


--增加新用户

--格式:
mysql> grant privileges on database[.table] to user@host \
mysql> identified by “password” [WITH GRANT OPTION]
--解释
--privileges 对数据库的操作权限
--database 数据库
--table 表
--user 用户名称
--host 登录主机地址
--password 登录密码
--WITH GRANT OPTION 设定用户是否有授权的权限

--privileges 常用列举
--ALL [PRIVILEGES] 设置除GRANT OPTION之外的所有简单权限
--ALTER 允许使用ALTER TABLE
--CREATE 允许使用CREATE TABLE
--CREATE TEMPORARY TABLES 允许使用CREATE TEMPORARY TABLE
--CREATE USER 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
--CREATE VIEW 允许使用CREATE VIEW
--DELETE 允许使用DELETE
--DROP 允许使用DROP TABLE
--EXECUTE 允许用户运行已存储的子程序
--FILE 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE
--INDEX 允许使用CREATE INDEX和DROP INDEX
--INSERT 允许使用INSERT
--LOCK TABLES 允许对您拥有SELECT权限的表使用LOCK TABLES
--SELECT 允许使用SELECT
--SHOW DATABASES SHOW DATABASES显示所有数据库
--SHUTDOWN 允许使用mysqladmin shutdown
--UPDATE 允许使用UPDATE
--GRANT OPTION 允许授予权限

--授权例子

--创建一个可以从任何地方连接服务器的一个完全的超级用户
mysql> grant all privileges on *.* to 'admin'@'%' \
mysql> identified by ’jgcao’ with grant option;

--创建一个用户jgcao在特定客户端192.168.1.108登录,可访问特定数据库lines
mysql> grant select, insert, update, delete, create, drop \
mysql> on lines.* to 'jgcao'@'192.168.1.108' identified by ‘passwd’;

--删除授权:

--格式
--revoke privileges ON database[.table] from user@host
--解释
--privileges 对数据库的操作权限
--database 数据库
--table 表
--user 用户名称
--host 登录主机地址

--删除授权例子

--解除root的所有权限
mysql> revoke all privileges on *.* from 'root'@'%';
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges;

关于我:

陈震(millken) 男 26岁 高级程序员

湖南石门人,现混迹于上海。

联系方式:millken#gmail.com

开放分类