目录

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

目录

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

**用 MySQL 创建数据库和数据库表

(

仅针对已经安装好

mysql)**

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

cmd**

https://img-blog.csdn.net/20171001193221712?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

mysql password

https://img-blog.csdn.net/20171001193259438?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

①设置 SQL语句的编码格式

https://img-blog.csdn.net/20171011012309511?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

②删除数据库test

https://img-blog.csdn.net/20171011012429422?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011012516867?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

④进入数据库

https://img-blog.csdn.net/20171011012553201?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011012640105?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011012728361?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

⑦查询出所有的书籍分类

https://img-blog.csdn.net/20171011012814114?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011012849029?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011012925005?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

⑩查询出所有的书籍

https://img-blog.csdn.net/20171011013009417?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011013126172?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011013213905?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011013328742?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

sql

语句

)

https://img-blog.csdn.net/20171001193329413?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

这四个数据库是mysql 自带的数据库,与

mysql

的功能有关,建议不要轻易修改。

创建一个数据库 dbone ,输入

sql

语句:

create database dbone;

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

https://img-blog.csdn.net/20171001193414326?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

use dbone;

https://img-blog.csdn.net/20171001193446016?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

查看数据库dbone 中的数据库表:

shoe tables;

https://img-blog.csdn.net/20171001193612756?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

显示为 empty set; 无数据库表

为数据库 dbone 创建数据库表

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

https://img-blog.csdn.net/20171001193548040?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171001193653016?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

查看数据库表stu 的结构:

describe stu;

https://img-blog.csdn.net/20171001193728893?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

查看 stu 数据库表中的数据

:select * from stu;

https://img-blog.csdn.net/20171001193756664?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

stu 为空

empty

的表格

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

https://img-blog.csdn.net/20171001193830025?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

https://img-blog.csdn.net/20171001193846144?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

https://img-blog.csdn.net/20171001193859657?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

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

创建文本 stu.txt 用

tab

隔开数据,一行代表一个数据,数据元素要按照数据库表的结构排列:

https://img-blog.csdn.net/20171001193925810?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

D:\stu.txt

执行 sql 语句:

load data local infile “d:\stu.txt” into table stu;

https://img-blog.csdn.net/20171001193950528?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

stu

当然现在大部分数据都是用excel 编写,如何将后缀名为

xlsx

文件导入

sql

数据库表?

首先打开 excel 写入数据:

https://img-blog.csdn.net/20171001194020516?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

因为 excel 编码格式为

ANSI

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

https://img-blog.csdn.net/20171001194042629?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

点击文件类型选择csv( 逗号分隔

)

,保存在

d:\stu.csv

https://img-blog.csdn.net/20171001194112575?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

执行sql 语句

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

https://img-blog.csdn.net/20171001194142295?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

fields terminated by ‘,’; 表示以逗号分隔数据值,从刚才选的文件类型

csv(

逗号分隔

)

可知数据值是以 ’,’分隔的。

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

https://img-blog.csdn.net/20171001194206484?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171001194229290?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171001194255554?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

https://img-blog.csdn.net/20171001194312977?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

select distinct 列名

from stu;

https://img-blog.csdn.net/20171001194336623?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

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

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

https://img-blog.csdn.net/20171011013746087?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

https://img-blog.csdn.net/20171011015501200?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

#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脚本的编码格式,否则会出现中文乱码等问题,方式如下:

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

https://img-blog.csdn.net/20171011014124049?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011014320694?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

https://img-blog.csdn.net/20171011020406630?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

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

https://img-blog.csdn.net/20171011020435141?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

②在登录mysql 之后:

source e:/x.sql

https://img-blog.csdn.net/20171011015742840?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2pmQmxvZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

sql脚本运行成功。