mysql insert into select from 大量数据_数据库相关知识

ec9a151d7f82df5512d3a0772ae04383.png

数据库软件有很多很多,主要有:

关系型数据库:MySQL、oracle、db2、access、sql server

非关系型数据库:redis、mongodb、memcache

关系型:

  • 数据之间彼此有关系或者约束(男生表和前女友表)
  • 存储数据的表现形式通常是以表格存储

非关系型:

  • 存储数据通常都以k,v键值对的形式

关系型数据库主要帮我们存储数据,是真正存储数据的,非关系型数据库主要是帮我们做一个缓存,减轻我们真正数据库的压力

我们主要学习MySQL,因为MySQL目前是应用最广泛的数据库,是开源的,也是免费的,但可能会渐渐的走向收费,因为他已经被一个公司收购了。

oracle更安全和牛逼,但是收费,非常非常贵,一般只有大型国企才用的起。


MySQL

任何基于网络通信的应用程序底层用的都是socket
-服务端
    - 基于socket通信
    - 收发消息
​
- 客户端
    - 基于socket通信
    - 收发消息
​
MySQL不单单支持MySQL自己的客户端app,还支持其他编程语言编写的app充当客户端,如何解决语言沟通的障碍?
    - 采用统一的语言(SQL语句)
学数据库也就相当于学数据库软件对应的语言,也就相当于学一门新的语言

重要概念介绍

库  -> 文件夹
表  -> 文件
记录  -> 文件内一行行的数据
表头  -> 表格的第一行字段(下表的第一行)
        name    password
        lili    123
        tt      234
字段  -> name、password、123
表单  -> 出表头外的数据

MySQL安装

在IT界,一般都不会轻易的使用最新版本的软件,因为新版本可能会出现各种问题(你原本项目跑的好好的,非要画蛇添足更新版本,然后项目崩溃)
# MySQL有很多版本(5.6、5.7、8.0)目前企业用的比较多的还是5.6左右

参考网站https://www.mysql.com/

下载5.6版本即可,如果下载了其他版本问题也不大,因为sql语句是一样的

0e645fc5aed523a450035f9a1ce1db97.png

为了学习方便我们将服务端和客户端都在本地启动,后期到了公司服务端会专门跑在一台服务器上,所有人基于网络连接服务端操作

服务端:
    mysqld.exe
客户端
    mysql.exe
    
注意:
    不要双击运行,在cmd命令行运行
    在前期配置MySQL的时候,cmd终端尽量以管理员的身份运行
    windows+R输入cmd进入的是普通用户终端,有些命令是无法执行的
    搜索cmd右键,以管理员身份运行

MySQL启动

启动服务端
    1.cmd里切换到mysql的bin目录下,输入mysqld即可
    2.不要关闭该cmd窗口
​
常用软件的默认端口号
    MySQL   3306
    redis   6379
    mongodb 27017
    diango  8000
    flask   5000
MySQL第一次以管理员身份进入是没有密码的 直接回车即可
​
启动客户端:
    1.cmd里切换到mysql的bin目录下
    2.输入客户端连接服务端完整命令
    mysql -h 127.0.0.1 -P 3306 -uroot -p

sql语句初识

1、MySQL中的sql语句以分号作为结束标志

2、基本命令

show databases; 查看所有的库名

3、连接服务端命令可以缩写

mysql -uroot -p

4、客户端退出 退出命令加不加分号都能执行

quit

exit

5、当连接服务端时,发现只输入mysql也能连接

但是你不是管理员模式,而只是一个游客模式

设置密码:

mysqladmin -uroot -p原密码 password 新密码
该命令直接在终端输入,无需进入客户端

基本sql语句介绍

ps:大部分程序的业务逻辑其实都是增删改查

针对库的增删改查(文件夹)

# 增
create database 库名;
create database 库名 charset='gbk';  # 指定库使用的编码
​
# 查
show databases;  # 查所有库
show create database 库名;  # 查单个库
​
# 改
alter database 库名 charset='utf8';  # 改库的编码
​
# 删
drop database 库名;

针对表的增删改查(文件)

在操作表(文件)的时候,需要指定所在的库(文件夹)
# 查看当前所在的库的名字
select database();
# 切换库
use 库名;
​
# 增
create table 表名(id int,name char);
​
# 查
show tables;  # 查看当前库下面所有的表名
show create table 表名;  # 查单个表
describe 表名;  # 更详细的展示,支持简写 desc 表名;
​
# 改
alter table 表名 modify name char(16);
​
# 删
drop table 表名;

针对数据的增删改查(一行行数据)

一定要先有库 有表 最后才能操作记录
​
# 增
insert (into) 表名 values(1,'lili');  # into可有可无
insert (into) 表名 values(1,'lili'),(2,'tt')
​
# 查
select * from 表名;  # 当数据量特别大时不建议使用
select id,name from 表名;  
​
# 改
update 表名 set name='lili' where id>1; 
​
# 删
delete from 表名 where id > 1;
delete from 表名 where name='lili';
# 将表所有的数据清空
delete from 表名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值