發新話題
打印

msyql常用命令简介

msyql常用命令简介

http://oneday.cz.cc/archives/273.html

 

msyql常用命令简介

2010年2月18日 发表评论 阅读评论

一、显示数据库结构
1.查看mysql服务器中包含哪些数据库
1)命令:show  database ;
2)初始化后的mysql服务器有三个默认的数据库:test 、mysql 、information_schema
2.进入某个数据库
1)命令:use  数据库名 ;
2)如 use mysql ;
3.查看当期数据库中的包含哪些表
1)命令:show  tables ;
2)在使用show tables 使要先用use 数据名 ;进入该数据库
①user 数据库名 ;  ②show  tables ;
4.显示表的结构(既查看列名,每列的类型,是否为空,是否是主键)
1)DESCRIBE语句:用于显示数据表中的列的信息,以“数据库名.表名”为参数
2)命令:describe  [数据库名].表名 ;
3)当数据库省略时,查询的是当下数据库中的表 格式:describe 表名 ;
二、数据库的创建与删除
1.创建新的数据库
1)CREATE  DATABASE语句:用于创建一个新的数据库,使用数据库名称作为参数
2)命令:create  database 数据库名 ;
3)创建数据库要有足够的权限,而且数据库名唯一,新创建的数据库不含任何表
4)数据库名称区分大小写(如 db_name 和db_NAME是两个不同的数据库)
2.删除一个数据库
1)DROP  DATABASE语句:用于删除指定的数据库,使用数据库名称作为参数
2)命令:drop  database  数据库名 ;
三、表的创建和删除
1. 表的创建
1)CREATE TABLE语句:用于在数据库中创建先得数据表,用数据表名作为参数
2)命令 :CREATE TABLE 表名 (字段定义……);
  字段:列名 列数据类型 [是否为空]
3)在auth数据库中创建一个名为 users的表,包括连个字段user_name、user_passwd,均为非空字符串,user_passwd的初始值为123456  user_name为主键
①CREATE DATABASE auth;
②USE auth;
③ CREATE TABLE users (user_name CHAR(30) NOT NULL, user_passwd CHAR(20) NOT NULL DEFAULT ‘123456′,PRIMARY KEY (user_name));
DEFAULT :设置默认值        PRIMARY KEY设置主键
2.删除表
1)DROP TABLE语句:用于在数据库中删除指定的数据表,用数据表名为参数
2)命令:DROP TABLE [数据库名.]表名 ;
3)当数据库省略时,查询的是当下数据库中的表 格式:drop table 表名 ;
四、数据的录入、查询与修改、删除
1.插入数据
1)INSERT语句:用于向数据表中插入线的数据记录
2)命令:INSERT INTO [数据库名].表名[(字段1, 字段2, ……)] VALUES(字段1的值, 字段2的值, ……)
[]表示可以省略
3)在auth库下的user表中插入两个用户zhangsan、lisi 密码分别为123456 和654321
①INSERT INTO auth.users(user_name,user_passwd) VALUES(‘zhangsan’, ENCRYPT(‘123456′));
②INSERT INTO auth.users VALUES(‘lisi’, ENCRYPT(‘654321′));
2.查询数据记录
1)SELECT语句:用于从数据表中查找符合条件的数据记录
2)命令:SELECT 字段名1,字段名2 …… FROM 表名 WHERE 条件表达式
3)可用*表示所有字段,不指定特定条件时可以省略”where”部分
4)在auth库的users表中,查看所有的数据记录
SELECT * FROM  auth. users ;
5)在auth库的users表中,查询用户名为zhangsan的记录,输出用户名和密码字段
Select user_name,user_passwd from auth.users where user_name=’zhangsan’;
3.修改数据记录
1)update语句:用于修改,更新数据表中的数据记录
2)命令:UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2]  WHERE 条件表达式
3)将auth库users表中lisi的users_passwd字段的654321改为123456
UPDATE  auth.users  SET  user_passwd=ENCRYPT(‘123456′) WHERE user_name=’lisi’;
4.删除数据记录
1)DELETE语句:用于在数据表中删除指定的数据记录
2)命令:DELETE FROM 表名 WHERE 条件表达式
3)在auth库users表中,删除users_name字段为lisi的数据记录
DELETE FROM  auth.users  WHERE  user_name=’lisi’;
五、用户权限的设置
1.授予权限
1)GRANT语句用来创建用户并进行权限授予。当用户名不存在时,新建用户。存在时,修改用户信息
2)GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY ‘密码’ ]
①权限列表:用“all” 表示全部权限,同时授予多个权限时,用逗号“,”分开
②数据库名.表名:可使用通配符“*”,例如“*.*”表示任意数据库中的任意表
③用户名@来源地址:用来设置谁能连接,从哪里连接。连续的2个单引号“’’”时表示空字符串,可用于匹配任何用户;来源地址可使用“%”作为通配符,匹配某个域内的所有地址(如%.hongyi.com),或使用带掩码标记的网络地址(如192.168.1.0/24);省略来源地址时相当于“%”
④IDENTIFIED BY:用于设置用户连接数据库是使用的密码,加密后存储于mysql库中的user表中,省略时,表示用户密码为空
3)授权数据库用户xiao,允许从本机连接到mysql,只能查看mysql库中user表的内容,密码为123456
GRANT  SELECT  ON  mysql.user  TO  xiao@’localhost’  IDENTIFIED  BY  ‘123456′;
4)授权数据库用户xiao2,允许从本机连接到mysql,对auth库有完全权限,密码为123456
GRANT  ALL  ON  auth.*  TO  xiao1@’localhost’  IDENTIFIED BY ‘123456′;
5)授权数据库用户xiao3,允许从192.168.0.0/24网段连接到mysql,对auth库有查询权限,密码为123456
GRANT  SELECT  ON  auth.*  TO  xiao3@’192.168.0.0/24′  IDENTIFIED  BY  ‘123456′;
6)授权数据库用户xiao4,允许从hongyi.com域内连接到mysql,对auth库有查询、添加权限,密码为123456
GRANT  SELECT,INSERT  ON  auth.*  TO  xiao3@’%.hongyi.com’  IDENTIFIED  BY ‘123456′;
7)允许root用户,对mysql服务器有完全控制权,并能从任何地方登入
GRANT  ALL ON  *.*  TO root@’%’ IDENTIFIED BY ‘123456’
2.查看权限
1)SHOW GRANTS:用于查看用户权限
2)命令:SHOW GRANTS FOR 用户名@域名或IP
3.撤销权限
1)REVOKE语句:用于撤销指定数据库用户的权限
2)命令REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@域名或IP
3)撤销数据库用户xiao3从hongyi.com域访问数据库auth的所以权限
REVOKE ALL ON *.* FROM xiao3@’%.benet.com’;
六、数据库的备份和恢复(mysql安装在linux中)
1.备份
1)方法一:直接备份数据库目录 /var/local/mysql/var
2)方法二:使用mysqldump 命令,将数据库信息导出为sql脚本文件
3)格式:mysqldump -u 用户名 -p [密码] [选项] [数据库名] [表名] > /备份路径/备份文件名
常见选项:–all-databases(mysql服务器中所有数据库内容)、–opt(优化,加速备份)
4)备份整个auth数据库
mysqldump -u root -p auth > mysql-auth.sql
5)备份数据库mysql中国的user表和host表
Mysqldump   –u  root  mysql  host  user  > mysql.host-user.sql
6)备份mysql服务器中所有数据库
Msyqldump  -u  root  -p  –all-databses > mysql-all.sql
2.恢复数据库
1)使用mysql命令导入备份好的.sql脚本文件
2)命令mysql -u root -p [数据库名] < /备份路径/备份文件名
3)恢复auth库
mysql -u root -p auth < mysql-auth.sql

分类: lamp, mysql 标签: , , ,

TOP

發新話題