MySQL

(菜鸟教程)[http://www.runoob.com/mysql/mysql]
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

ubuntu16.04下安装:

sudo apt-get update
sudo apt-get install mysql-server
sudo mysql_secure_installation   # 5.7版本自带的初始化数据目录命令
systemctl status mysql.service     # 查看MySQL服务器状态

如何启动/停止/重启MySQL
一、 启动方式
1、使用 service 启动:service mysql start
2、使用 mysqld 脚本启动:/etc/inint.d/mysql start
3、使用 safe_mysqld 启动:safe_mysql&
二、停止
1、使用 service 启动:service mysql stop
2、使用 mysqld 脚本启动:/etc/inint.d/mysql stop
3、mysqladmin shutdown
三、重启
1、使用 service 启动:service mysql restart
2、使用 mysqld 脚本启动:/etc/inint.d/mysql restart
安装可视化工具navicat:

官网下载:https://www.navicat.com.cn/download/navicat-premium
切换到下载文件的目录解压:
tar -zxvf navicat_yourversion.tar.gz
运行命令启动
./start_navicat
打开start_navicat文件,会看到export LANG="en_US.UTF-8" 将这句话改为 export LANG="zh_CN.UTF-8" 就OK了。至此安装结束。
破解方案:
第一次执行start_navicat时,会在用户主目录下生成一个名为.navicat的隐藏文件夹。
cd /home/X/.navicat/
此文件夹下有一个system.reg文件
rm system.reg
把此文件删除后,下次启动navicat 会重新生成此文件,30天试用期会按新的时间开始计算。

1.启动关闭

Mac上系统偏好中可以开启关闭
在终端中:

 #启动MySQL服务
sudo /usr/local/mysql/support-files/mysql.server start
 
#停止MySQL服务
 sudo /usr/local/mysql/support-files/mysql.server stop
 
#重启MySQL服务
 sudo /usr/local/mysql/support-files/mysql.server restart

2.基本操作

登陆:

mysql -h localhost -u root -p
-h 指定主机名,若为远程主机要加主机名/IP地址
-u 指定用户
-p 指定需要使用密码登陆

创建数据库

create database test; #  创建名为test的数据库
use test; #使用数据库

创建表

create table student(
 id char(10) not null primary key,
 age int not null
);           #创建名为student的表,要写列声明

describe student  #查看名为student的表
CREATE TABLE `employee_tbl` (
 `id` int(11) NOT NULL,
 `name` char(10) NOT NULL DEFAULT '',
 `date` datetime NOT NULL,
 `singin` tinyint(4) NOT NULL DEFAULT '0' COMMENT '登录次数',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据

insert into 表名 values(值1,值2) #向表中插入一条数据

查询

select 列名 from 表名 [查询条件]
select * from 表名  #查询全部数据
select * from student where name='xiaoxiao';  #查看name为xiaoxiao的数据
select * from student where name like '%xiao' and sex='male';

修改

update 表名 set 列名=新值 where 查询条件
eg: 
update student set name='haha' where address='beijing'  

删除数据

delete from 表名 where 删除条件
eg:
delete from student  #删除整个表成为空表

修改表

#修改表中的列
alter table 表名 change 原列名 新列名 数据类型;

#删除列
alter table 表名 drop 列名

#重命名表名
alter table 表名 rename 新表名

#删除表
drop table 表名

#删除数据库
drop database 数据库名

union

#下面的 SQL 语句从 "Websites" 和 "apps" 表中选取所有不同的country(只有不同的值):
SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
#下面的 SQL 语句使用 UNION ALL 从 "Websites" 和 "apps" 表中选取所有的country(也有重复的值):
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;

排序order by

SELECT field1, field2,...fieldN table_name1, table_name2...
ORDER BY field1, [field2...] [ASC [DESC]]

asc升序,默认升序
desc降序
SELECT * from table ORDER BY submission_date DESC;

GROUP BY 语句

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;

SELECT name, SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;

SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;

select coalesce(a,b,c);
参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。

Mysql 连接的使用

你可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。
JOIN 按照功能大致分为如下三类:

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

null

条件查询:
where name is null;
where name is not null;

你可能感兴趣的:(MySQL)