前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql相关命令

mysql相关命令

作者头像
98k
发布2018-04-11 10:35:31
8370
发布2018-04-11 10:35:31
举报
文章被收录于专栏:Django ScrapyDjango Scrapy

安装 在ubuntu 14.04 x64下

1 安装

代码语言:javascript
复制
# 安装服务端 (需要中途设置root密码)
sudo apt-get install mysql-server
# 安装客户端
sudo apt-get install mysql-client
# 查看是否安装并启动成功
sudo netstat -tap | grep mysql
# mysql的配置文件在 /etc/mysql/my.conf

打开mysql

代码语言:javascript
复制
sudo service mysql start
mysql -u root -p

查看数据库

代码语言:javascript
复制
show databases;

连接数据库

代码语言:javascript
复制
use 数据库名称
use information_schema

查看表

代码语言:javascript
复制
show tables;

退出

代码语言:javascript
复制
exit or quit

建立新数据库

代码语言:javascript
复制
create 数据库名称
create database mysql_shiyan;

查看数据库中的表

代码语言:javascript
复制
show tables;

建立新表

代码语言:javascript
复制
create table 表名
create table employee (id int(10),name char(20),pyhone int(12));

向表里插入数据

代码语言:javascript
复制
insert into 表名 值
insert into employee(id,name,phone) values(01,'Tom',110110110);
or
insert into employee values(02,'Jack',119119119);
or
insert into employee(id,name) values(03,'Rose');

查看表的内容

代码语言:javascript
复制
select * from employee;

删除表

代码语言:javascript
复制
drop table 表名;
drop table employee;

删除指定数据库

代码语言:javascript
复制
drop database 库名;
drop database mysql_shiyan;

导入已经存在的数据库

代码语言:javascript
复制
在mysql控制台输入source + 目录路径
source /home/olizhao2/SQL3/MySQL-03-01.sql

查看表的数据类型

代码语言:javascript
复制
show create table 表名

secect语句基本格式

代码语言:javascript
复制
SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;
SELECT name,age FROM employee;

where限制条件查询

代码语言:javascript
复制
符号查询 > < =
SELECT name,age FROM employee WHERE age>25;
SELECT name,age,phone FROM employee WHERE name='Mary';
“AND”与“OR”
#筛选出 age 小于 25,或 age 大于 30
SELECT name,age FROM employee WHERE age<25 OR age>30;
#筛选出 age 大于 25,且 age 小于 30
SELECT name,age FROM employee WHERE age>25 AND age<30;
IN 和 NOT IN
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4');
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3');
通配符
SELECT name,age,phone FROM employee WHERE phone LIKE '1101__';
SELECT name,age,phone FROM employee WHERE name LIKE 'J%';

对结果排序

代码语言:javascript
复制
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;
# salary降序排序 asc为升序排

SQL 内置函数和计算

[图片上传失败...(image-92ed86-1512908800707)]

as的用法.png

代码语言:javascript
复制
select max(salary) as max_salary,min(salary) from employee;

子查询

上面讨论的 SELECT 语句都仅涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。例如:想要知道名为 "Tom" 的员工所在部门做了几个工程。员工信息储存在 employee 表中,但工程信息储存在project 表中。

对于这样的情况,我们可以用子查询:

代码语言:javascript
复制
SELECT of_dpt,COUNT(proj_name) AS count_project FROM project
WHERE of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');

给表改名

代码语言:javascript
复制
将某数据库下的 表 table_1改名
rename table table_1 to table_2;

删除一张表

代码语言:javascript
复制
drop table 表名
drop table table_2;

增加一列

现在 employee 表中有 id、name、age、salary、phone、in_dpt 这6个列,我们尝试加入 height (身高)一个列并指定DEFAULT 约束:

代码语言:javascript
复制
alter table employee add height int(4) default 170;

修改前.png

代码加修改的内容.png

增加一行并放在指定位置和放在第一行

代码语言:javascript
复制
# 新增体重默认120放在age的后边
alter table employee add weight int(4) default 120 after age;
# 放在第一行
alter table employee add test int(10) default 11 first;

age后加weight.png

第一行新增test1.png

删除一行

代码语言:javascript
复制
alter table employee drop test;

修改height 为shengao

代码语言:javascript
复制
alter table employee change height shengao int(5) default 170;

改default后值还是170没变.png

改变数据类型

代码语言:javascript
复制
alter table 表名字 modify 列名字 新数据类型;

可能会丢数据,不建议使用的命令

对表的内容进行修改,修改表中某个值

update 表的名字 set 列1=值1, 列2=值2 where 条件;

代码语言:javascript
复制
update employee set age=99,salary=3212 where name='Tom';

修改对比.png

删除一行数据

DELETE FROM 表名字 WHERE 条件;

代码语言:javascript
复制
delete from employee where name = 'Tom';

建立索引

alter table 表名 add index 自定索引名(表的列名);

代码语言:javascript
复制
1 alter table employee add index idx_id(id);
2 create index idx_name on employee(name);

视图

将多个表取你需要的合在一起组成 新的表,它是虚拟的,靠原始表的数据存在,如果依靠的表改变则跟着改变

代码语言:javascript
复制
CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名字;

导入

代码语言:javascript
复制
LOAD DATA INFILE '文件路径和文件名' INTO TABLE 表名字;

如何让外网访问数据库

代码语言:javascript
复制
vim /etc/mysql/my.cnf
bind-address            = 172.0.0.1 改成
bind-address            = 0.0.0.0
1、新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。
2、支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装
  • 打开mysql
  • 查看数据库
  • 连接数据库
  • 查看表
  • 退出
  • 建立新数据库
  • 查看数据库中的表
  • 建立新表
  • 向表里插入数据
  • 查看表的内容
  • 删除表
  • 删除指定数据库
  • 导入已经存在的数据库
  • 查看表的数据类型
  • secect语句基本格式
  • where限制条件查询
  • 对结果排序
  • SQL 内置函数和计算
  • 子查询
  • 给表改名
  • 删除一张表
  • 增加一列
  • 增加一行并放在指定位置和放在第一行
  • 删除一行
  • 修改height 为shengao
  • 改变数据类型
  • 对表的内容进行修改,修改表中某个值
  • 删除一行数据
  • 建立索引
  • 视图
  • 导入
  • 如何让外网访问数据库
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档