mysql创建数据库,创建数据库表导入xlsx、txt文本,查询、删除、插入数据语句的使用

MySQL创建数据库和数据库表(仅针对已经安装好mysql)

win+R以管理员身份运行命令行cmd


输入mysql -h localhost -u root -p然后输入mysql password

①设置SQL语句的编码格式


②删除数据库test


③创建数据库test,指定存储数据所用的编码


④进入数据库


⑤创建表 dd_category(cid, cname, count)//count为书籍数量


⑥添加三行记录,三个书籍分类(10/20/30)


⑦查询出所有的书籍分类


⑧创建表 dd_book(bid,title,pic,price,pubDate,isOnsale,categoryId)


⑨为每种分类添加两三条记录


⑩查询出所有的书籍


⑪查询出所有的“category1”类书籍


⑫删除10号分类及其下所有的书籍

⑬删除编号为6的书籍,需要修改对应分类的书籍数量





查看当前有哪些数据库:show databases;(以分号结尾表示一个sql语句)


这四个数据库是mysql自带的数据库,与mysql的功能有关,建议不要轻易修改。

创建一个数据库dbone,输入sql语句:create database dbone;

创建完后用show databases;查看数据库发现创建成功。


进入刚才创建的数据库dbone,对数据库进行管理:

use dbone;


查看数据库dbone中的数据库表:shoe tables;


显示为empty set;无数据库表

为数据库dbone创建数据库表

create table stu(sno varchar(20),sname varchar(20));


查看数据库dbone的数据库表:show tables;


查看数据库表stu的结构:describe stu;


查看stu数据库表中的数据:select * from stu;


stu为空empty的表格

往表格中添加内容:insert into stu values(‘2099001001001’,’cjf’);




数据库表stu成功添加两个数据。

但是每次往数据库表添加一个记录就要执行一个sql语句,当数据非常大的时候这种往数据库表添加数据的方法根本行不通,可以通过文本方式将数据添加到数据库表:

创建文本stu.txttab隔开数据,一行代表一个数据,数据元素要按照数据库表的结构排列:


记住文本stu.txt的绝对路径(D:\stu.txt

执行sql语句:load data local infile“d:\stu.txt” into table stu;


文本stu.txt五个数据顺利添加到数据库表stu

当然现在大部分数据都是用excel编写,如何将后缀名为xlsx文件导入sql数据库表?

首先打开excel写入数据:


因为excel编码格式为ANSI

右击文件名-另存为,如下图:


点击文件类型选择csv(逗号分隔),保存在d:\stu.csv


执行sql语句:load data local infile“d:\stu.csv” into table stu fields terminated by ‘,’;


fields terminated by ‘,’;表示以逗号分隔数据值,从刚才选的文件类型csv(逗号分隔)可知数据值是以’,’分隔的。

查看数据表:可以看到数据库表stu又添加了三个数据。


查询数据库表stu学号为2099001001001的数据


删除数据库表stu学号为2099001001001的数据



如图,表中存在重复的数据,如果想要仅仅列出不同的值,可以使用关键字distinct

select distinct 列名 from stu;


如图,输出的列sno没有出现重复的值。


以上是适应于在一条命令执行完后再执行下一条命令,当有多条命令需要连续执行时,或者有些命令动作是连续的并且多次用到,每次重复输入显得相当麻烦,这个时候可以将命令写在sql文本里面,然后直接在mysql执行sql文本。

①在D盘下sql文件夹创建sql文件TEST.SQL(D:\SQL\TEST.SQL),写入要执行的多条sql语句



#1. 设置SQL语句的编码格式	
set names utf8;		
#2. 删除数据库test
drop database if exists test;
#3. 创建数据库test,指定存储数据所用的编码
create database test charset=utf8;
#4. 进入数据库
use test
#5. 创建表 dd_category(cid, cname, count)//count为书籍数量
create table dd_category(
cid int primary key,
cname varchar(32),
count int
);
#6. 添加三行记录,三个书籍分类(10/20/30)
insert into dd_category values
(‘10’,’category1’,’2’),
(‘20’,’category2’,’2’),
(‘30’,’category3’,’2’);
#7. 查询出所有的书籍分类
select * from dd_category;
#8. 创建表 dd_book(bid,title,pic,price,pubDate,isOnsale,categoryId)
create table dd_book(
bid int primary key,
title varchar(32),
pic varchar(32),
price float(6,2),
pubDate date,
isOnsale boolean,
categoryId int
);
#9. 为每种分类添加两三条记录
insert into dd_book values
(‘1’,’title1’,’img/pic1.jpg’,’11.11’,’2017-10-10’,’1’,’10’),
(‘2’,’title2’,’img/pic2.jpg’,’1912’,’2017-10-11’,’1’,’10’),
(‘3’,’title3’,’img/pic3.jpg’,’18.13’,’2017-10-11’,’1’,’20’),
(‘4’,’title4’,’img/pic4.jpg’,’17.14’,’2017-10-9’,’1’,’20’),
(‘5’,’title5’,’img/pic5.jpg’,’7.15’,’2017-10-6’,’1’,’30’),
(‘6’,’title6’,’img/pic6.jpg’,’9.14’,’2017-10-7’,’0’,’30’);
#10. 查询出所有的书籍
select * from dd_book;
#11. 查询出所有的“计算机”类书籍
select * from dd_book where categoryId = (
select cid from dd_category where cname=’计算机’
);
#12. 删除10号分类及其下所有的书籍
delete from dd_category where cid = 10;
delete from dd_book where categoryId=10;
#13. 删除编号为6的书籍,需要修改对应分类的书籍数量
update dd_category set count=count-1 where cid = (
select categoryId from dd_book where bid=6
);
delete from dd_book where bid =6;

除了设置sql语句编码格式以及存储数据所用的编码格式,还需要设置sql脚本的编码格式,否则会出现中文乱码等问题,方式如下:

点击左上方文件选择另存为


编码格式选择UTF-8 ,再点击保存,替换掉源文件


在DOS中如果出现中文乱码等,需要设置DOS的编码格式:chcp 936(简体中文字符集)


运行sql脚本文件有两种方式:

①在未登录mysql之前:mysql  -uroot   -p   <   e:/x.sql


②在登录mysql之后:source e:/x.sql


sql脚本运行成功。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值