MySQL基本操作命令大全


yum list | grep mysql    //查看安装包

yum install -y mysql-server mysql mysql-devel   //安装

rpm -qi mysql-server  //查看安装的版本


/

service mysqld start    //启动,第一次启动会进行初始化

mysqladmin -u root password 'mysql'   //给root设置密码

mysql -u root -p   //登陆 

quit   //退出

chkconfig mysqld on   //设置开机启动

vim /etc/my.cnf     //查看配置文件

cd /var/lib/mysql/     //保存数据文件的位置

vim /var/log/mysqld.log  //查看日志文件

mysql -h [ ip | localhost ] -u root -p   //连接 [ 远程 | 本地 ] 的mysql

//

SELECT HOST,USER FROM mysql.user;    //查看mysql的用户

SELECT user();    查看当前登录的用户:


///


CREATE USER 用户名 IDENTIFIED BY '密码';   //创建一个用户

举例:

CREATE USER wang IDENTFIED BY 'wang';     //创建一个用户,但还不能登陆。因为没有设置权限


///

DROP USER 用户名;    //删除一个用户

举例:

DROP USER wang;

///

RENAME USER 旧用户名 TO 新用户名;  //用户重命名

举例:

RENAME USER wang TO jian;




SET PASSWORD = PASSWORD('新密码');   //修改当前用户密码

SET PASSWORD FOR 用户名 = PASSWORD('新密码');  //修改指定用户密码

//

MYSQL权限系统:

1.检查用户是否能够连接
2.检查用户是否具有所执行动作的权限

mysql授予权限可分为以下几个层级:
1.全局层级
2.数据库层级
3.表层级
4.列层级
5.子程序层级

mysql通过 GRANT 授予权限 , REVOKE 撤销权限

授予用户权限:

GRANT ALL PRIVILEGES ON 层级 to 用户名@主机 IDENTFIED BY '密码';

举例:

授予wang用户全局级全部权限:

GRANT ALL PRIVILEGES ON *.* to 'wang'@'%' IDENTFIED BY 'wang';

授予wang用户针对xsgl数据库全部权限:

GRANT ALL PRIVILEGES ON xsgl.* to 'wang'@'%' IDENTFIED BY 'wang';

删除一个用户权限:

REVOKE ALL PRIVILEGES FROM 用户名;

举例:

撤销wang用户的全部权限:

REVOKE ALL PRIVILEGES FROM wang;



MYSQL连接认证


GRANT ALL PRIVILEGES ON *.* to 'wang'@'%' IDENTTIFIED BY 'wang';
                                     |             |                                  |
                        用户名      主机                           密码

这里的主机是指允许从那些主机进行连接,可以使用如下形式:

1.所有主机:  %

2.精确的主机名或IP地址: www.wang.com 或 192.168.1.1

3.使用“*”通配符:  *.wang.com

4.指定一个网段:  192.168.1.0/255.255.255.0



SELECT VERSION();    //查询服务器版本

SELECT CURRENT_DATE;  //当前时间

SELECT VERSION(),CURRENT_DATE;  //联查

SELECT 4*4;     //计算

SHOW DATABASES;   //查看当前所有数据库

CREATE DATABASES xsg;   //创建数据库

DROP DATABASE xsgl;    //删除数据库

USE xsgl;     //切换当前数据库

SHOW TABLES;   //查看当前数据库中的表

SELECT * FROM student;   //查表



数据类型:

integer(size), int(size), smalint(size), tinyint(size)   //存储整数数据

decimal(size,d), numeric(size,d)   //存储浮点数据

char(size)           //存储固定长度字符串

varchar(size)       //存储可变长度字符串

date(yyyymmdd)          //存储日期

/

CREATE TABLE table_name      //创建一个表
(
列名称1 数据类型,
列名称2 数据类型,
.....
);

举例:
CREATE TABLE course(
id int,
course_name varchar(50),
course_length  int(10),
teacher varchar(50),
category varchar(50)
);

[ DESCRIBE | DESC ] course;     //显示表的结构

DROP  TABLE course;   //删除表

ALTER TABLE course RENAME ic_course;    //修改表名

ALTER TABLE course ADD link varchar(100);   //向表中添加新的列

ALTER TABLE course DROP COLUMN link;       //删除一个列

ALTER TABLE course MODIFY teacher varchar(100);   //修改一个列的数据类型

ALTER TABLE course CHANGE COLUMN teacher lecture varchar(50);   //重命名一个列

/

插入

INSERT INTO table_name VALUES(值1,值2,....);    //向表中插入一条记录

或:

INSERT INTO table_name(列1,列2) VALUES (值1,值2);  //指定列插入

举例:

INSERT INTO course VALUES(1,'C++',32,'wang','Basic');     //全部列插入

INSERT INTO course(id,course_name,category) VALUES(2,'MATH','Basic');  //指定列插入

/

查询

SELECT 列名称 FROM table_name WHERE 列 运算符 值;   

举例:

SELECT * FROM course;            //显示表中的全部数据

SELECT course_name,lecture FROM  course;   //显示表中的指定数据

SELECT * FROM course WHERE id = 1;      //显示指定列值的数据 

//
运算符              功能

= 等于


<> 不等于


> 大于


< 小于


>= 大于等于


<= 小于等于


BETWEEN 在某范围内


LIKE 搜索某种模式     


/

删除

DELETE FROM  tabel_name WHERE  列=值;             //删除某条记录

或:

DELETE * FROM table_name;                         //删除表中的所有数据

举例:

DELETE FROM course WHERE id = 1; 

//

更新某条记录的某个属性值

UPDATE table_name SET 列名称 = 新值 WHERE  列=值;  

举例:

UPDATE course SET lecture = 'jian' WHERE  id = 1;



删除返回结果的重复项:

SELECT DISTINCT  列名称 FROM table_name;

举例:

SELECT DISTINCT lecture FROM  course;

//

WHERE 条件中使用逻辑组合:

SELECT * FROM 表名称 WHERE 条件1 AND  条件2;

SELECT * FROM 表名称 WHERE 条件1 OR   条件2;

举例:

SELECT * FROM course WHERE lecture = 'wang' AND category = 'Adv';

///

对查询结果按指定列进行排序:

SELECT * FROM 表名称 ORDER BY  列名称;    //升序

SELECT * FROM 表名称 ORDER BY 列名称 DESC;  //降序

举例:

SELECT * FROM course ORDER BY course_length;

SELECT * FROM course ORDER BY course_lenght DESC;

///

MYSQL简单的备份恢复:

备份:

mysqldump -u root -p 数据库名称 > 备份文件.sql;

举例:

mysqldump -u root -p xsgl > xsgl_db.sql;

恢复:

mysql -u root -p 数据库名称 < 备份文件.sql;

举例:

mysql -u root -p xsgl < xsgl_db.sql;

//

MYSQL数据库字符编码设置:

latin,Big5,GB2312,UTF8

编码影响两个方面:
1.数据库保存相同的内容所占的空间大小
2.数据库与客户端通信

MYSQL数据库的默认编码是:
character set : latin1
collation : latin1_swedish_ci

可以通过以下命令查看MYSQL支持的编码:

SHOW CHARACTER SET;

查看mysql当前使用的编码:

SHOW VARIABLES LIKE 'charater_set%';
SHOW VARIABLES LIKE 'collation%';

创建数据库的时候可以使用以下命令指定编码:

CREATE DATABASE xsgl
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;

也可以通过一下命令修改一个数据库的编码:


ALTER DATABASE xsgl CHARACTER SET utf8 COLLATE utf8_general_ci;

或者可以通过修改MYSQL配置文件my.cnf设置mysql默认编码:

/etc/my.cnf

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
charater-set-server = utf8

修改之后重启mysql服务;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值