MySQL在Linux下快速入门

来源:互联网 发布:sublime 运行python 编辑:程序博客网 时间:2024/05/16 14:51

  安装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 的缩写,表示右外连接

0 0