您的位置:首页 > 运维架构 > Linux

MySQL在Linux下快速入门

2015-01-29 12:53 405 查看
安装MySQL:安装后Linux操作系统(推荐深度Linux,即装即用)以后,进入终端输入:sudo apt-get install mysql-server,然后安装过程中会让您设置MySQL根用户(即root用户)的密码,然后就安装完毕了。

若您还想通过C/C++编程实现对MySQL的访问则还应安装:sudo apt-get install libmysqlclient-dev 否则编译会报错找不到<mysql/mysql.h>

登录MySQL:mysql -u 用户名 -h 主机IP(本地MySQL用localhost) -p ,然后会让你输入密码。登录的形式多样比如如下的例子:mysql -uroot -hlocalhost -pmypssword student,可以类型参数可以和具体参数连在一起,最后的student是我事先建立好的一个数据库,直接就进入了,若不加,进入MySQL后还需输入命令:use
数据库名。

退出MySQL命令:\q (是quit的缩写)或exit(回车)。

修改密码:格式:mysqladmin -u用户名 -p旧密码 password 新密码

例:再将root的密码改为456:mysqladmin -uroot -pab12 password 456

增加新用户:(注意:MYSQL环境中的命令,后面都带一个分号作为命令结束符)

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete on *.* to test2@localhost identified by "abc";如果你不想test2有密码,可以再打一个命令将密码消掉:grant select,insert,update,delete
on mydb.* to test2@localhost identified by "";

MySQL常用命令

status (查看当前系统状态)

use 库名; (打开数据库)

show databases; (查看当前用户有哪些数据库)

show tables; (查看当前数据库有哪些表)

describe 表名; (显示数据表的结构||desc 表名;)

show create table 表名; (查看表的创建过程)

select now(); (查看当前系统时间)

select user(); (查看当前登录用户)

select database(); (查看当前正在使用的数据库)

创建库

1、create database 库名;

2、create database 库名 character set utf8;

3、create database if not exists 库名 character set utf8;

创建表:create table 表名(列名 类型 [约束] [默认值]);

案例:创建一个(员工表)

create table if not exists emp(

id int auto_increment primary key,

name varchar(20) not null,

salary decimal(6,2) default 0,

email varchar(30) unique,

birthday date

)engine=InnoDB character set utf8;

删除库(drop)

参考:? drop database

drop database 库名;

drop database if exists 库名;

删除表:

参考: ? drop table

drop table 表名;

drop table if exists 表名;

删除表中数据(delete)

参考: ? delete

delete from 表名;

delete from 表名 where id=1;

delete from 表名 where salary>200;

插入数据(insert) 说明:不允许为空的字段,必须给值。

例:编号,姓名,工资,日期 id,name,salary,birthday

向表中所有字段写入值:insert 表名 values (1,'A',100,'1999-12-12');

同时插入多条insert 表名 values (2,'A',100,'1999-12-12'),(3,'A',100,'1999-12-12');

insert 表名 (id,name,salary,birthday) values (4,'C',100,'1999-12-12');

向表中指定字段写入值insert 表名 (id,name) values (5,'A');

查询(select)

查询某张表select * from 表名;

查询雇员中薪水的最大值,最小值select max(salary),min(salary) from employees;

查询雇员的总人数select count(*) from employees;

查询雇员的平均薪水select avg(salary) from employees;

查询雇员薪水的总和select sum(salary) from employees;

查询还有很多,就不一一展开了,以后有机会再谈,这里主要给出其基本内容:

1.简单查询(select,from)

2.排序查询(order by)

3.限制查询(where,limit)

4.分组查询(group by,having )

5.嵌套查询()

6.多表查询(join on,left join on,right join on)

count(*)函数:求个数(非空记录)

avg(salary)函数:求平均值

sum(salary)函数:求总和

max(salary)函数:求最大值

min(salary)函数:求的最小值

"*" 所有

"_" 表示任意的一个字符。

"%" 代表任意的0个或多个字符

"as" 查询出这张便之后在数据库中创建这张表

"order by" 用于对数据进行分组---"asc"表示升序(默认),desc 表示降序

"where" 条件的关键字

"limit" 一般用于分页查询---假如有limit子句,那此子句一定是在最后,假如没有limit子句,order by子句就是最后

"having" 用于限制分组以后返回的结果,having子句要出现在group by 子句的后面

"join" 是 inner join 的缩写,join 两边写的是表的名字

"on" 后写的是连接条件

"left join" 是left outer join 的缩写,表示左外连接

"right join"是right outer join 的缩写,表示右外连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: