首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
fetch
request
数组
ip
range
export
testing
runtime
hashtable
dagger
metadata
char
hook
int
vba
cSharp
list
python2
input
stream
timezone
install
window
hashcode
eval
datetime
post
random
jar
email
python
keyword
timestamp
shell
httpclient
controller
config
less
utf-8
instance
actionscrip
audio
hashset
web
sum
flutter
buffer
nodejs
scala
format
require
match
spring
header
usb
foreach
uri
cookie
iostream
string
select
byte
golang
copy
integer
version
cmd
subset
express
dockerfile
bit
php
io
grid
client
vbscript
php8
tags
import
当前位置:
开发笔记
>
编程语言
> 正文
mysql在ubuntu中的操作笔记(详)
作者:mobiledu2502861767 | 来源:互联网 | 2023-09-16 20:34
1.安装mysql客户端流程:-登录navicat官网下载-将压缩包拷贝ubuntu中进行解压,解压命令:tarzxvfnavicat.tar.gz-
1.安装
mysql
客户端流程:
-
登录
navicat
官网下载
-
将压缩包拷贝
ubuntu
中进行解压,解压命令:
tar zxvf navicat.tar.gz
-
进入解压目录,运行命令
./start_navicatt
-
如果试用是灰色的则进行下一步
- 删除 .navicat64/
隐藏文件,再次运行即可
-
如果试用界面是乱码的则修改配置文件
,
改成如下形式
(vim
常用操作请查看我的另一篇随记
)
:
-
再次执行第三步操作即可,试用到期可再次删除那个隐藏文件
2.ubuntu
下安装
mysql
服务端
- sudo apt-get install mysql-server
3.验证安装结果
-
命令:
ps aux|grep mysql
,跟下图一样则说明安装成功
4.mysql
数据库运行状态
- 4.1 sudo service mysql status
查看数据库运行状态
-
绿点 正在运行
-
白点 停止运行
- 4.2 sudo service mysql start
启动数据库服务
- 4.3 sudo service mysql stop
停止数据库服务
- 4.4 sudo service mysql restart
重启数据库服务
5.
登录数据库
- 5.1 通过客户端软件登录,
详见步骤
1
- 5.2 通过命令登录
-
登录远程主机:
mysql [-h 192.168.205.129 –P 3306] –uroot -p
- h
连接服务端数据库的
IP
地址
- P(
大写
)
连接的端口号,一般为
3306
- u 用户权限
- p(
小写
)
输入密码,一般为
mysql
登陆成功:
6. 退出数据库客户端
- exit、quit、ctrl+d
7. 配置
msyql
服务允许远程登录访问
- 7.1 数据文件夹:
- 7.2 数据库配置文件:
- 7.3
关闭防火墙
- sudo apt-get install ufw 安装防火墙
- sudo ufw enable 打开防火墙
- sudo ufw status 查看防火墙状态
- sudo ufw disable 关闭防火墙
- 7.4 更改配置文件的bind-address
-
进入配置文件
-
修改
mysqld.cnf
中的
bind-addres,首先给用户可执行权限
-
再次使用
vim
修改
bind-address
-
修改成功
-
再把文件权限改回去
-7.5
修改权限
- 权限 update `user` set host=”%” where user=”root”
- 允许指定用户访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.11.12' IDENTIFIED BY 'FEFJay' WITH GRANT OPTION; flush privileges;(IP
这里,可以使用
%
来表示所有
IP)
-
重启服务即可
8. 创建数据库
- 8.1
使用客户端软件创建数据库
- 8.2
使用命令创建数据库
- create database
数据库名
- create database
数据库名
character set utf8
- show create database
数据库名
- 8.3 修改数据库编码
- alter database
数据库名
character set utf8
- 8.4 删除数据库
- drop database
数据库名
- 8.5 切换、使用数据库
- use
数据库名
- 8.6 显示当前数据库
- select database()
- 8.7 展示所有数据库
- show databases
9. 创建数据表
- 9.1
使用命令创建数据表
- create table
表名
(
字段
1
字段类型
,
字段
2
字段类型
,
字段
3
字段类型
……
)
- 9.2
常用数据字段类型
-
整数
-
小数
-
字符串
-
日期时间类型
-
枚举
10.查询
- 10.1 查询数据表中全部的行和列
- select col1,col2,col3….from table
- select * from table
- 10.2 查询表的部分列
- select col1,col2,col3…from table
- 10.3 给查询出来的数据列设置别名
- select col1 as “
别名
1”,col2 as ‘
别名
2’…from table
- select col1 ‘
别名
1’,col2 ‘
别名
2’….from table
- 注意多表查询重名问题
- 10.4 DISTINCT
关键字的使用
- 作用:消除结果集中的重复数据
-
语法:
select distinct col from table
- 注意:要求所有的字段都相同才会去重
- 10.5 LIMIT
关键字的使用
- 作用:指定结果的显示范围
- 语法:
- select * from table limit m,n
m
:起始的位置
n
:显示的数量
- select * from table limit m
m:
从第一条开始共显示
m
条数据
11. 插入数据
- 11.1 所有列都插入值
-
语法:
insert into table values(v1,v2,v3….)
- 特点:列值同数,列值同序
- 11.2 为指定列插入值
-
语法:
insert into table(col1,col2,col3) values(v1,v2,v3)
- 特点:指定顺序,列值对应
- 11.3 一次性插入多条记录
-
语法:
insert into table(co1,col2,col3…)values
(v1,v2,v3),
(v1,v2,v3),
(v1,v3,v3)…..
12.
修改数据
- 12.1 修改指定数据
-
语法:
update table set {col1=value1}[…n]where expressioin
- 12.2 修改全部数据
-
语法:
update table set {col1=value1}[…n]
13. 删除数据
- 13.1
使用
delete
命令删除数据
-
语法:
delete from table where expression
- 13.2 逻辑删除
- 13.3
使用
truncate
命令删除数据
- truncate table
- 13.4
区别
-
Delete
语句删除数据,自动编号没有恢复到默认值。但是
truncate
重新设置了自动编号
-
通过
truncate
语句删除数据表数据,不能根据条件删除,而是一次性删除,
delete
语句可以根据条件进行删除
-
truncate
在清空表中数据的时候,速度要比
delete
语句快的多
14. 对列进行增删改查
- 14.1
增加一列
- alter table tablename add
列名 数据类型
- 14.2 删除一列
- alter table tablename drop column
列名
- 14.3 修改列的数据类型
- alter table tablename modify
列名 数据类型
-14.4 修改列的数据类型并且改名
- alter table tablename change old_colname new_colname
数据类型
15. 约束
-
问题
1
:数据冗余
- 问题2:失去了完整性
- 问题3:数据缺少唯一标识
- 问题4:失去了实体完整性
- 问题5:失去了引用完整性
- 问题6:失去了域完整性
- 15.1 约束概念:限定数据库中数据的一套规则
- 15.2 约束作用:保证数据的准确性、完整性、可靠性、联动性
- 15.3 数据库常用约束:
- 主键约束
- 作用:让数据具有唯一标识
- 语法:
create table table_primarykey
(
id int primary key
)
- 特点:自动设置非空约束
- 自动增长
- 作用:使数据自动增长,一般给主键设置
- 语法:
create table table_autoincrement
(
id int primary key auto_increment
)
- 唯一约束
- 作用:保证数据的准确性
- 语法:
create table table_unique
(
qqnumber int unique
)
- 特点:可以为多列设置唯一约束
- 非空约束
- 作用:保证数据不为空
- 语法:
create table table_notnull
(
name varchar(30) not null
)
- 默认约束
- 作用:给字段设置默认值
- 语法:
create table table_default
(
sex char(2) default ‘男’
)
- 检查约束
- 作用:检查数据的完整性
- 语法:
create table table_check
(
sex char(2) check(‘男’ or ‘女’)
)
create table table_enum
(
sex enum(‘男’,’女’)
)
- 外键约束
- 作用:让两表之间产生联动关系
- 语法:
create table class
(
id int primary key auto_increment,
classname varchar(30) not null
)
create table score
(
id int primary key auto_increment,
chinese_score int not null,
foreign key(id) references class(id)
)
-
要想删除
class
表和
score
表,首先要删除
score
表
16. 为数据增补约束
- 16.1
添加
/
删除主键约束
- 添加主键约束
-
语法:
alter table table_name add constrain con_name primary key(col_name)
- 删除主键约束
- 16.2 外键约束
- 添加外键约束
-
语法:
alter table table_name add constrain con_name foreign key(col_name) references table(col_name)
- 删除外键约束
- 16.3 检查约束
- 添加检查约束
-
语法:
alter table table_name add constraint con_name check(expression)
- 删除检查约束
- 16.4
默认约束
- 添加默认约束
-
语法:
alter table table_name alter col_name default value
- 删除默认约束
- 16.5
自动增长
- 添加自动增长
-
语法:
alter table table_name modify column col_name type auto_increment
- 删除自动增长
17. 条件查询
- 17.1 普通条件查询
-
语法:
select * from table where expression
- where
:将查询到的数据,通过
where
后的
expression
一条一条的进行筛选,符合要求则显示,不符合要求则去除。
- 17.2 模糊查询
- 语法:
- between….and….
-
范围查询
in
、
or
- like
通配符
%
和
_
- 17.3 查询空值的运算符
- is null
18. 数据排序
- 作用:对查询出的数据进行升序或降序排列
-
语法:
select col11,col2,col3…from table order by order_by_collist[asc/desc]
- 18.1 多列排序:
- 关注点:升序、降序、优先级
19. 数据分组
-
语法:
select col1..col2.. from table Group by col
分组配合排序
-
注意:如果使用了
group by
分组,那么
select
不允许出现其他列,除非这些列包含在分组中
20. 聚合函数
-
作用:对多条数据做统计功能
-
注意:在使用聚合函数后,
select
后不允许出现其他列,除非这些列包含在分组中或者聚合函数中
- 20.1
常用聚合函数
- 20.2
聚合函数与
Group by
语句配合使用
21. Having by
语句
-
作用:
having by
为
group by
之后得到数据进行进一步的筛选
-
类似于
select
和
where
的关系。
Where
为
select
后的数据进行进一步的筛选。
- Having by
为
group by
后的数据进行筛选
22. Limit
关键字的使用
- 语法:
select * from table limit m
select * from table limit m,n
23. sql
语句执行顺序
— from
表名
— where
— group by
— select distinct *
— having
— order by
— limit
24. 连接查询
- 当查询结果的数据来自多张表的时候,需要将多张表连接成一个大的数据集,再选择合适的列进行返回。
- 24.1 内连接:选择两种表中交叉的数据进行返回
- 24.2 左连接:选择左表全部数据以及右边中和左表相同的数据
- 24.3 右连接:选择右表全部数据以及左表中和右表相同的数据
- 24.4 笛卡尔积:两张表数据行的乘积
25. 自关联
-
概念:
让某张表自己和自己进行连接。
26. 子查询
-
概念:
将一个查询结果在另一个查询中使用,称之为子查询。
-
语法:
select * from (select col1,col2,col3 from table) as t
- 26.1 子查询分类
- 独立子查询:
- 子查询可以独立运行
- 相关子查询:
- 子查询中引用了父查询的结果或者父查询中引用了子查询的结果,子查询和父查询都不可以独立运行
-26.2
子查询注意点:
- 如果主查询使用到子查询的数据,则必须给子查询起一个表名。
- 在子查询使用关系运算符的时候要注意,因为子查询有可能返回多个值。
ps:由于这篇随笔有几段代码写的不严谨,故续写了一下常用的SQL代码总结,双手奉上:http://www.cnblogs.com/wf-skylark/p/9054152.html
mysql
sql
ubuntu
压缩
文件
乱码
vim
sudo
get
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
jar
Linux 环境下 Java 及相关软件的安装指南
本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ...
[详细]
蜡笔小新 2024-11-13 18:10:16
install
CentOS 6.4 安装 QT5 时无法找到 GLIBCXX_3.4.15 的解决方案
在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ...
[详细]
蜡笔小新 2024-11-13 16:52:41
install
解决 Ubuntu 环境下 Hadoop 集群 SSH 密钥认证问题
本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ...
[详细]
蜡笔小新 2024-11-13 09:14:02
char
如何使用 ASP.NET 和 Vue.js 构建单页面应用并处理复杂组件
作为一名新手开发者,我正在尝试使用 ASP.NET 和 Vue.js 构建一个单页面应用,涉及多个复杂组件(如按钮、图表等)。希望有经验的开发者能够提供指导。 ...
[详细]
蜡笔小新 2024-11-16 18:00:22
input
开发笔记:前端之前端初识
开发笔记:前端之前端初识 ...
[详细]
蜡笔小新 2024-11-16 16:05:59
install
MySQL 5.7 服务端在 Windows 上的安装与配置
本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ...
[详细]
蜡笔小新 2024-11-16 10:03:42
stream
Spring 中策略模式的应用:Resource 接口详解
本文探讨了在 Spring 框架中如何利用 Resource 接口实现资源访问策略。Resource 接口作为资源访问策略的抽象,通过多种实现类支持不同类型的资源访问。 ...
[详细]
蜡笔小新 2024-11-15 23:58:40
int
Java毕业设计项目:“传情旧物”网站(含源码与数据库)
本项目介绍了如何配置和运行“传情旧物”网站,包括所需的技术栈、环境配置以及具体的操作步骤。 ...
[详细]
蜡笔小新 2024-11-15 20:52:51
install
解决 Ubuntu 下 Samba 重新安装时配置文件未重新生成的问题
在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ...
[详细]
蜡笔小新 2024-11-12 13:02:23
stream
web页面报表js下载,web报表软件
web页面报表js下载,web报表软件 ...
[详细]
蜡笔小新 2024-11-16 18:37:21
int
Android 中 dip、px、pt 和 sp 的详细解析
本文详细介绍了 Android 开发中常用的单位 dip(设备独立像素)、px(像素)、pt(点)和 sp(可缩放像素),并解释了它们在不同屏幕密度下的应用。 ...
[详细]
蜡笔小新 2024-11-16 14:57:19
eval
一个转子曲线面积问题及其反问题的解答
曾经解答过这样一个问题,从该ID的最后一次登录时间、该ID显示的专业信息,误以为是新闻里某个想不开的同学,不安了一阵子。经确认是我多虑了,不过把问题答案还是写出来。之后就收到一堆要求帮忙算 ...
[详细]
蜡笔小新 2024-11-16 14:10:33
char
深入解析HTML5字符集属性:charset与defaultCharset
本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ...
[详细]
蜡笔小新 2024-11-13 11:09:46
int
Python 中 UTF-8 编码的中文字符被误识别为 GB2312
探讨了 Python 中 UTF-8 编码的中文字符在某些情况下被误识别为 GB2312 的问题,并提供了详细的代码示例和环境信息。 ...
[详细]
蜡笔小新 2024-11-12 20:45:01
email
HarmonyOS 2.0 源码获取与编译指南
本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ...
[详细]
蜡笔小新 2024-11-12 11:55:04
mobiledu2502861767
这个家伙很懒,什么也没留下!
Tags | 热门标签
fetch
request
数组
ip
range
export
testing
runtime
hashtable
dagger
metadata
char
hook
int
vba
cSharp
list
python2
input
stream
timezone
install
window
hashcode
eval
datetime
post
random
jar
email
RankList | 热门文章
1
ZendCache:让网站飞起来
2
ARMLinux内核知识点
3
Zabbix版本升级及zabbixproxy服务
4
Android API GuidesSensors Overview
5
php 如何将unicode转utf8
6
Vue案例(搜索页面)
7
《梅花 其三》翻译 原文赏析诗人元王冕
8
常见的交易订单类型
9
深度学习与神经网络——邱锡鹏
10
2014年3月份第4周51Aspx源码发布详情
11
Ubuntu15、Ubuntu14交换Ctrl和Caps Lock键
12
python处理包_Python 包
13
字符设备驱动leds
14
《寄张源》翻译 原文赏析诗人唐牟融
15
【c++】7.无符号整型变量比较大小时用减法越界的bug问题
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有