linux基础-数据库建库建表

news2024/11/25 2:29:08

数据库建库建表

数据库内部:1、通过SQL解析器解析2、存储引擎

systemctl stop firewalld 关闭防火墙

1)启动数据库mysql

#启动
systemctl start mariadb 
#检查进程
ps -ef|grep mysql|grep -v mysql
#检查端口
netstat -lnt
#登录测试(后输入密码)

mysql -u用户名 -p

mysql -uroot -p

mariadb数据库用户管理

1)查询有哪些用户
MariaDB> select user,host from mysql.user;
#查询 mysql里用户组成:用户@主机域
2)删除用户语法
drop user 'user'@'主机域';
drop user 'root'@'::1';
3)查看当前登录用户
MariaDB [(none)]>select user();
#其中root@localhost为管理员用户,使用这个用户只允许在本机连接。
查库
MariaDB [(none)]> show databases;
#列出所有已经创建的数据库名称
MariaDB [mysql]> show databases like '%te%';
#所有数据库名称中包含 "te" 字符串的数据库

切换数据库

语法:use 库名;
MariaDB [(none)]>use test;

查看当前数据库

方法1:直接看提示符
MariaDB [test]>
方法2:
select database(); 
 ##()里不需要填内容

删库

语法:drop database 库名;
drop database test;
##库名用小写,命令不分大小写,推荐小写。

建库

create database oldboy;
##默认建库
show databases;
#查看

查看建库SQL语句(别人建的库)

语法:show create database 库名;

MariaDB [mysql]> show create database oldboy;
+----------+--------------------------------------------------------------------+
| Database | Create Database |
+----------+--------------------------------------------------------------------+
| oldboy | CREATE DATABASE `oldboy` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
说明:可以看到库的字符集已经被默认指定latin1。
​
##字符集介绍:简单说就是一个[密码本]:
企业工作字符集:
utf8,gbk,当下最主流就是utf8mb4(8.0默认的字符集)

查看数据库字符集

指定字符集建库

语法:CREATE DATABASE 数据库名字 CHARACTER SET 字符集 COLLATE 校准规则;  
##高版本数据库,直接CREATE DATABASE 数据库名字;即可。
create database oldgirl character set utf8 collate utf8_general_ci;

改库

#查看oldboy建库语句

show create database oldboy;
##将oldboy库的字符集改为utf8
alter database oldboy character set utf8;
#方法二collate utf8_general_ci校准规则可省略
alter database oldboy character set utf8 collate utf8_general_ci;
#再查看oldboy建库语句
show create database oldboy;

用户管理

管理要点:一个库对应一个管理员

查询用户

root@localhost管理员用户,使用这个用户只允许在本机连接

select user,host from mysql.user;

删除用户

drop user '用户'@'主机域';
drop user 'root'@'::1';

查看当前登录用户

select user();

创建用户

create user 用户@主机域 identified by '密码';
create user blog@'10.0.0.%' identified by 'oldboy123';
#create user创建新用户、blog新创的用户名、'10.0.0.%'主机域、identified by 'oldboy123'指定了用户的密码为oldboy。
授权主机范围
##单机服务器
localhost #只能从本机访问,场景单机应用服务和数据库在一台机器推荐
127.0.0.1 #只能从本机访问,场景单机应用服务和数据库在一台机器推荐
10.0.0.166 #授权某个IP访问
====================================
##工作场景:是集群服务器,一堆应用服务器都会连接后端的数据库mysql.
10.0.0.0/24 #授权一个网段,推荐10.0.0.1--10.0.0.254
10.0.0.0/255.255.255.0 #授权一个网段,推荐10.0.0.1--10.0.0.254
10.0.0.% #授权一个网段,推荐10.0.0.1--10.0.0.254
​
##禁止使用的授权
192.168.%   #更大网段授权 192.168.0.1---192.168.255.254
%           #任意主机都可以连接root@%。坚决杜绝,打死都要杜绝。
​
#工作场景
企业里创建用户一般是授权一个【内网网段服务器登录】。
10.0.0.%(%为通配符,匹配所有内容)。
10.0.0.0/24 一个网段

用户授权

创建用户并且授权

#创建用户
create user 用户@主机域 identified by '密码';  
#授权
grant 权限 on 库.表 to 用户@主机域;​
#授权所有权限给blog
grant all on *.* to blog@'10.0.0.%';
#检查
show grants for blog@'10.0.0.%';
##GRANT 【ALL PRIVILEGES】 ON *.* TO 'blog'@'10.0.0.%'

数据库核心权限

#1.查看数据库有哪些权限可以授权
show privileges;
​
#2.核心授权权限
###管理表的内容,开发人员需要###
SELECT 查询(数据)
INSERT 插入(数据)
UPDETE 修改(数据)
DELETE 删除(数据)
​
###表、库、索引,DBA管理员需要
CREATE 创建(数据库、表等对象)
DROP 删除(数据库、表等对象)
INDEX 索引
ALTER 修改(数据库、表等对象)

在数据库里建表

建表的基本命令语法为:

create table <表名> (
<字段名1> <类型1> ,
…
<字段名n> <类型n>);
#说明:create table是关键字,不能更改,但是大小写可以变化。表名只能为数字、字母、下划线,不用数字开头。

字段类型说明

整型:数字-整数

tinyint # #微小整型 1byte=8bit=2^8=256 #年龄

int # #大整型 4byte=2^32=(40亿+)

bigint #超大整型 8byte=2^64(40亿*40亿=1600亿亿)

字符:所有符号都是字符,含整数

varchar 变长字符类型。 varchar(3) abc存储abc,a存储a,abcd存储abc,丢了d。

char 定长字符类型。 char(3) abc存储abc,a存储a空格空格,abcd存储abc,丢了d。

4)建表语句

删除oldboy库

drop database oldboy;

创建oldboy库

create database oldboy;

切换到oldboy库

use oldboy;

查看所有表

show tables;

建表

create table stu1(

id int(10) not null,

name varchar(64) not null,

age tinyint(3) not NULL default '0',

dept varchar(16) default NULL

);

说明:

not null 是不能为空

default '0', 设置默认值为0.

建表语句详细说明

CREATE TABLE stu1 ( #<== CREATE TABLE是创建表的固定关键字,stu1为表名。

id int(4) NOT NULL, #<==学号列,数字类型,长度为4,不为空值。

name varchar(64) NOT NULL, #<==名字列,定长字符类型,长度20,不为空值。

age tinyint(3) NOT NULL DEFAULT '0', #<==年龄列,很小的数字类型,长度为2,不为空,默认为0值。

dept varchar(16) DEFAULT NULL #<==系别列,变长字符类型,长度16,默认为空。

) ENGINE=InnoDB DEFAULT CHARSET=utf8 #<==引擎和字符集,引擎默认为InnoDB,字符集,继承库的utf8。

修改表名

语法:rename table 原表名 to 新表名

#将stu1改为stu2。

rename table stu1 to stu2;
登录数据库;
show databases查库;
use [数据库]转入数据库;
show tables查表;
rename table [原表名] to [新表名]改表;

删除表

语法:drop table <表名>;
​
#删除stu2表
drop table stu2;
#查表
show tables; 
#删除oldboy库
drop database oldboy;
#查库
show databases;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1795986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

node.js漏洞——

一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境&#xff0c;基于 Google 的 V8 引擎&#xff0c;V8 引擎执行 Javascript 的速度非常…

49.线程池的关闭方法

shutdown方法 1.线程池状态变为shutdown 2.不会接收新任务 3.已提交的任务会执行完 4.此方法不会阻塞调用线程执行 ExecutorService executorService = Executors.newFixedThreadPool(2);executorService.submit(() -> {log.debug("task1 running");try {TimeUnit…

云原生架构案例分析_3.某快递公司核心业务系统云原生改造

名称解释&#xff1a; 阿里云ACK&#xff1a;阿里云容器服务 Kubernetes 版 ACK&#xff08;Container Service for Kubernetes&#xff09;集成Kubernetes网络、阿里云VPC、阿里云SLB&#xff0c;提供稳定高性能的容器网络。本文介绍ACK集群网络及阿里云网络底层基础设施的重要…

Spring Boot中整合Jasypt 使用自定义注解+AOP实现敏感字段的加解密

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Bidirectional Copy-Paste for Semi-Supervised Medical Image Segmentation

文章目录 1. 问题背景2. 本文方法2.1. 模型图2.2. 损失函数 2. 模型的训练流程图3. 实验 1. 问题背景 &#xff08;1&#xff09;在半监督医学图像分割任务中&#xff0c;标签数据和无标签数据之间存在经验失配问题。 &#xff08;2&#xff09;如果采用分隔的方式或者采用不一…

【区块链】truffle测试

配置区块链网络 启动Ganache软件 使用VScode打开项目的wordspace 配置对外访问的RPC接口为7545&#xff0c;配置项目的truffle-config.js实现与新建Workspace的连接。 创建项目 创建一个新的目录 mkdir MetaCoin cd MetaCoin下载metacoin盒子 truffle unbox metacoincontra…

面试(五)

目录 1. 知道大顶端小顶端吗&#xff0c;代码怎么区分大顶端小顶端 2. 计算机中栈地址与内存地址增长方向相反吗&#xff1f; 3. %p和%d输出指针地址 4. 为什么定义第二个变量时候&#xff0c;地址反而减了 5. 12&#xff0c;32&#xff0c;64位中数据的占字节&#xff1f…

告别维修响应慢、费用纠纷,物业报修系统为客服人员减压增效

大家都知道物业报修系统是物业服务企业的得力助手&#xff0c;不仅帮助物业服务企业提升了业主满意度&#xff0c;还增强了物业和业主之间的粘度。但是&#xff0c;我们却忽略了物业报修系统对于物业客服人员带来了哪些工作上的便捷&#xff1f; 作为物业客服人员的你&#xff…

14 个必须了解的微服务设计原则

想象一下&#xff0c;一个机场有各种各样的业务&#xff0c;每个部门都是一个精心设计的微服务&#xff0c;专门用于预订、值机和行李处理等特定操作。机场架构必须遵循这个精心设计的架构的基本设计原则&#xff0c;反映微服务的原则。 例如&#xff0c;航空公司独立运营&…

搜索与图论:宽度优先搜索

搜索与图论&#xff1a;宽度优先搜索 题目描述参考代码 题目描述 输入样例 5 5 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0输出样例 8参考代码 #include <iostream> #include <algorithm> #include <cstring> using namespace std;const int N …

chatglm-6b部署加微调

这里不建议大家使用自己的电脑&#xff0c;这边推荐使用UCloud优刻得-首家公有云科创板上市公司 我们进去以后会有一个新人优惠&#xff0c;然后有一个7天30元的购买&#xff0c;购买之后可以去选择镜像&#xff0c;然后在镜像处理的这个位置&#xff0c;可以选择镜像&#xf…

浙江零排参加全国水科技大会暨技术装备成果展览会(成都)并作主论坛演讲

2024年5月13日-15日中华环保联合会、福州大学、上海大学等联合举办的2024年全国水科技大会暨技术装备成果展览会在成都顺利举办。浙江零排城乡规划发展有限公司司受邀参加&#xff0c;首日有幸听取徐祖信院士、任洪强院士、汪华林院士等嘉宾的主旨报告。主旨报告后&#xff0c;…

麒麟操作系统rpm ivh安装rpm包卡死问题分析

夜间变更开发反应&#xff0c;rpm -ivh 安装包命令夯死&#xff0c;无执行结果&#xff0c;也无报错 排查 &#xff1a; 1、top 查看无进程占用较高进程存在&#xff0c;整体运行平稳 2、df -h 查看磁盘并未占满 3、其他服务器复现该命令正常执行 4、ps -ef|grep rpm 查看安装…

江苏省汽车及零部件产业协作配套对接会在苏州举行

5月28日&#xff0c;江苏省汽车及零部件产业协作配套对接会暨“百场万企”大中小企业融通对接活动在苏州举办。本次活动以“深化整零协作&#xff0c;促进大中小企业融通发展”为主题&#xff0c;由江苏省工业和信息化厅、中国中检所属中国汽车工程研究院股份有限公司&#xff…

跑图像生成模型GAN时,遇到OSError: cannot open resource 报错解决办法

报错信息如下&#xff1a; Traceback (most recent call last): File "/root/autodl-tmp/ssa-gan/pretrain_DAMSM.py", line 276, in <module> count train(dataloader, image_encoder, text_encoder, File "/root/autodl-tmp/ssa-gan/pretrain_DAMSM.py…

安卓SystemServer进程详解

目录 一、概述二、源码分析2.1 SystemServer fork流程分析2.1.1 [ZygoteInit.java] main()2.1.2 [ZygoteInit.java] forkSystemServer()2.1.3 [Zygote.java] forkSystemServer()2.1.4 [com_android_internal_os_Zygote.cpp]2.1.5 [com_android_internal_os_Zygote.cpp] ForkCom…

C语言数据结构(超详细讲解)| 二叉树的实现

二叉树 引言 在计算机科学中&#xff0c;数据结构是算法设计的基石&#xff0c;而二叉树&#xff08;Binary Tree&#xff09;作为一种基础且广泛应用的数据结构&#xff0c;具有重要的地位。无论是在数据库索引、内存管理&#xff0c;还是在编译器实现中&#xff0c;二叉树都…

springboot 社区疫苗管理网站系统-计算机毕业设计源码89484

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 社区疫苗管理网站系统&#xff0c;主要的模块包括查看首页、网站管理&#xff08;轮播图、公告信息&#xff09;人员管理&#xff08;管理员、…

Liunx音频

一. echo -e "\a" echo 通过向控制台喇叭设备发送字符来发声&#xff1a; echo -e "\a"&#xff08;这里的 -e 选项允许解释反斜杠转义的字符&#xff0c;而 \a 是一个响铃(bell)字符&#xff09; 二. beep 下载对应的包 yum -y install beep 发声命令 be…

金融创新浪潮下的拆分盘投资探索

随着数字化时代的步伐加速&#xff0c;金融领域正经历着前所未有的变革。在众多金融创新中&#xff0c;拆分盘作为一种新兴的投资模式&#xff0c;以其独特的增长机制&#xff0c;吸引了投资者的广泛关注。本文将对拆分盘的投资逻辑进行深入剖析&#xff0c;并结合具体案例&…