《MySQL数据库》数据导入、导出、表处置惩罚—/—<4>
目次一、插入数据
1、可使用外部工具navicat导入数据的情况下
2、不可使用外部工具navicat导入数据的情况下
1)将数据存入linux当地
2) 从linux当地将数据读入MySQL
● 使用下令 use ai_03 进入这个库
● 使用查询下令查察数据
二、导出数据
1、从mysql中导出数据文件
2、在MySQL中实行数据文件
三、底子下令补充内容
1、创建数据库
2、 查察当前数据库的建库语句
3、输出数据库
4、切换数据库
5、查察当前使用的数据库
6、单行注释
7、多行注释
8、创建一个表
9、主键(primary key)
10、主键创建方式
1)在创建表时定义主键:
2)在已创建的表上添加主键:
11、书写格式
12、表修改
1)增加列
2) 更改列的属性
3)删除列
4)修改表名称:
5)修改列名
6)修改表的字符集
一、插入数据
1、可使用外部工具navicat导入数据的情况下
由于部分公司不允许使用外部工具去导入数据
对于大批量数据,除了上节课中使用导入向导插入数据,也可在vscode中打开csv文件,然后选中光标,长按shift+ctrl,拖动滚轮,点击要修改的下面行的位置即可编辑,如图所示
https://i-blog.csdnimg.cn/direct/f06adebbb90745d7997fca560240dd24.png
将所有的数据处置惩罚成下列状态ctrl +A选中所有内容,复制到navicat ,即可使用下令将所有数据导入表student中,每一条后面都需要有分号 ";"
https://i-blog.csdnimg.cn/direct/14607c93b53d42a0a4f67017b7a7f1d6.png
将复制的内容粘贴到新建查询中即可
https://i-blog.csdnimg.cn/direct/c9df46d52a2740b4856d588488a40cf6.png
但是这种方式特殊的慢,需要一条一条实行所有下令,那么使用另一种方式即可快速使用导入,
即,删除第一条以外的所有insert in下令,每一条下令后的分号更换成逗号,再在开头结尾加个括号即可
https://i-blog.csdnimg.cn/direct/a59aa25149ed4b5dabbe79c4287b9310.png
末了一行括号外同样要加个分号
再复制所有内容去navicat中新建查询即可快速导入所有数据。
注意:此时表名student后面没有写括号,也没有再括号内写入字段名,由于后面value值对应的括号内的数据条数以及数据格式和student中创建好的字段一 一对应
2、不可使用外部工具navicat导入数据的情况下
1)将数据存入linux当地
在electerm(终端模仿器)中先将student.csv数据文件存入假造机
点击左上角的sftp即可,左边是当地文件夹,右边是假造机内的文件夹
https://i-blog.csdnimg.cn/direct/cd98bc1282e147b3bf377343a380f401.png
找到对应文件,直接拖到右侧假造机内即可
https://i-blog.csdnimg.cn/direct/5a7c142edec8418b80cd4bcb35f0cc29.pnghttps://i-blog.csdnimg.cn/direct/77e90c7f5db545e9919748ca9e55b43a.png
然后返回ssh,输入下令ll即可查察
https://i-blog.csdnimg.cn/direct/14b8da2188054eb7b36f7d4522894ace.png
2) 从linux当地将数据读入MySQL
● 使用下令 use ai_03 进入这个库
https://i-blog.csdnimg.cn/direct/93171d4d05a6493cbb1015c1cd5825a3.png
进入MySQL(与在假造机内进入一样,但是更好用更方便)
在MySQL中输入以下下令导入,导入位置为ai_03库的student表,分隔符为','英文逗号,
load data local infile '/root/mysql_pak/students.csv' into table ai_03.students fields terminated by ","; 代码解释:
load data 加载当地文件
local infile '/root/mysql_pak/students.csv' 当地文件地点
into table ai_03.students是写入ai_03数据库的student表内,如果你使用了use ai_03进入了这个数据库,那么上述可以直接写表名不用写库名,
fields terminated by ","; 表示文件分隔符是","号
https://i-blog.csdnimg.cn/direct/f3d9dbea2f1d41d7bf9b1398e0b19cac.png
● 使用查询下令查察数据
select * from student 得到如下效果:
https://i-blog.csdnimg.cn/direct/4c0c52b4c0964d27a8627c5e0db42957.png
二、导出数据
1、从mysql中导出数据文件
使用下令将student表的数据重定向保存到linux当地的student.sql
mysqldump -u root -p ai_03 student -h 192.168.197.100 >student.sql https://i-blog.csdnimg.cn/direct/87645a4adaee48b68394b8cfefcbf489.png
代码解释:
ai_03 student库名和表名,之间用空格分开
-h 192.168.197.100 主机ip地点
>student.sql 重定向到文件student.sql
此时输入下令ll即可查察到linux当地文件,即可发现刚刚保存的文件
https://i-blog.csdnimg.cn/direct/6f83547524114af6a78a86b7dc90d1e7.png
此时可以输入下令 vim student.sql 打开文件编辑模式查察文件内容
https://i-blog.csdnimg.cn/direct/149d3c20d69a4dd695ab6e2017852060.png
此时导出到linux当地的是所有内容,此中包罗了student表的建表语句
https://i-blog.csdnimg.cn/direct/5623dfe315424fdba011b29f76673776.png
注意此中每一条数据后面都有 \r 符号,由于linux使用 \r 换行,windows使用 \n 换行
此时可以在electerm左上角的Sftp中把linux当地文件拖入左侧的本机文件,由于我拖入的是桌面文件地点,所以在桌面就看到了这个student.sql文件
https://i-blog.csdnimg.cn/direct/bd0d6aa6a6fb4ddbb42d8a71c094438b.png
其内容就是上图的vim打开对应的文件
此时同样可以在navicat中找到表,然后右击运行SQL文件,然后选中上方谁人文件又可以创建出来新表student
https://i-blog.csdnimg.cn/direct/3e1fab0bc82f48f2bb15d336c354124c.pnghttps://i-blog.csdnimg.cn/direct/04f42976751c45fbad70efa45e64c4bb.png
2、在MySQL中实行数据文件
使用下令use ai_03 进入库,然后使用source下令实行数据文件
source /root/student.sql; 此中/root/student.sql为数据文件在linux中的地点
运行代码后即可创建一个新表并将数据文件内容写入
三、底子下令补充内容
1、创建数据库
create database if not exists db_name 其意思是:创建一个数据库,定名为db_name,如果当前文件夹没有这个名字的数据库,则成功创建,如果有这个定名,则报错
2、 查察当前数据库的建库语句
show create database db_name 即查察数据库定名为db_name的库的建库语句
3、输出数据库
drop database if exists db_name 即如果存在db_name库,则删除,反之报错
4、切换数据库
use database
5、查察当前使用的数据库
select database();
6、单行注释
两个减号:
https://i-blog.csdnimg.cn/direct/5811307ddf5747b7911a5d2cefca84ea.png
7、多行注释
/* */
https://i-blog.csdnimg.cn/direct/7a594750374547028c461a0cae48699a.png
8、创建一个表
create table if not exists tb_name(
id int primary key
,name varchar(255) not null
,age int
,gender varchar(255)
,clazz varchar(255)
);
上述代码即创建一个表名为tb_name,如果存在则创建,如果不存在则报错,创建字段名为id、name、age、gender、clazz,其数据类型分别是整型、字符串型、整型、字符串型、字符串型,另外,primary key 表示主键,主键看下列剖析
注意:建表语句末了一句括号后面还有一个下令,定义字符集为utf-8,由于前面已经提前设置过字符集了,所以这里可以不用写这段代码,如图所示
https://i-blog.csdnimg.cn/direct/a451c3121b994937a313a9d4e378450e.png
9、主键(primary key)
在MySQL中,主键(Primary Key)是一种用于唯一标识每条记录的列或一组列。
主键具有以下特点:
[*]主键列的值必须是唯一的,不能重复。
[*]主键列的值不能为空,不能为NULL。
[*]主键列的值在表中必须是唯一的标识符,可以用来快速访问和定位表中的记录。
[*]主键可以由一个列或多个列组成,如果由多个列组成,则称为复合主键或联合主键。
[*]主键在创建表时可以通过PRIMARY KEY约束进行定义。
10、主键创建方式
1)在创建表时定义主键:
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
...
);
如果设置了主键,之后插入数据时,主键的列,数据有空值大概重复值时会报错
2)在已创建的表上添加主键:
ALTER TABLE table_name ADD PRIMARY KEY (column1);
如果数据有控制大概重复值,则增加不了主键
11、书写格式
在使用查询下令的时候,除库名和表名需要严酷遵守大小写格式以外,其他的搜可以随意的大小写,例如:下列代码输出效果就一致
select job from emp;
SELECT job FROM emp;
表中字段名是job,现实使用就必须一摸一样,表的名字也是,必须遵守大小写
12、表修改
1)增加列
使用下令
alter table student add length float; 即,对student表增加一列,列名为length,数据类型为float类型
例如:
我有一个表dept ,其数据如下,对其增加一列列名为aaa,数据类型为varchar 的
https://i-blog.csdnimg.cn/direct/4d4d4bc95c194a5cbd9f7ea3abe7116d.png
使用下令 alter table dept add aaaa varchar;
选中实行后得到下列状态
https://i-blog.csdnimg.cn/direct/b94d33d98e864ab794d91075db477476.png
然后刷新dept表即可增加一列
https://i-blog.csdnimg.cn/direct/2eac62dc77f4424497ff663c97980b12.png
2) 更改列的属性
使用下令
alter table dept modify aaaa int not null; 即,将表dept中的列aaaa的字符串类型更改为int型,然后设置为非空属性,即列中的值不能为空
由于我刚增加的列aaaa没有值,所以这个not null属性不用写,不然会报错
3)删除列
使用下令
alter table dept drop aaaa;
即,使用drop删除列aaaa
4)修改表名称:
rename table dept to dddpt;
将dept表名修改为dddpt
5)修改列名
alter table dddpt change dept_no ddd_no int; 即,将dddpt表中的列名dept_no修改为ddd_no,并更改为int型
6)修改表的字符集
alter table student character set utf8;
这种用处不大,最好是从最开始配置的时候就去修改字符集
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]