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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容