一、如何进入数据库

提示:以下所有截图为win10系统的截图

1、使用运行界面进入cmd命令行窗口登录MySQL数据库

(1)进入运行面板

  • win7系统:左下角开始→所有程序→附件→运行
  • win7系统:win键(Windows图标)+R键
  • win10系统:左下角搜索栏直接搜索“运行”
  • win10系统:左下角搜索栏直接搜索“cmd”(这个方法可以直接进入命令行窗口)
  • win10系统: win键(Windows图标)+R键

以上方法(除了特别说明)都可以进入运行面板,截图如下:

MySQL数据库和表-技术中文网

(2)进入以上面板,输入“cmd”回车进入命令行窗口

MySQL数据库和表-技术中文网

(3)找到你安装mysql的bin目录的路径,这是我的路径(C:\Program Files\MySQL\MySQL Server 8.0\bin)复制。

MySQL数据库和表-技术中文网

(4)在第二步打开的命令行面板中输入cd C:\Program Files\MySQL\MySQL Server 8.0\bin这一段命令,cd和路径中间要有空格,如图一,输入命令后回车得到图二的内容。

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

(5)输入mysql -u root -p如图一,得到内容如图二,(注意如果你在安装mysql时,端口号不是设置的3306,需要在后在加一句代码,为mysql -u root -p -P端口号,如图三)

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

(6)输入你的数据库密码,回车就成功登陆mysql了(密码为盲打)如图一,登陆成功后内容如图二

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

(7)登陆成功后就可以对数据库进行操作了

2、win10系统可以直接在左下角搜索栏搜索“mysql”,输入密码登录(因为没有操作过win7的系统,所以暂时没有win7直接进入的路径,后面有了会补充)

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

二、查看MySQL系统中已有的数据库

1、查看数据库,输入命令 show databases;(要有英文的分号“;”结束),回车就能看见系统中已有的数据库了

MySQL数据库和表-技术中文网

2、在输入 use+想要查看某个数据库里面有的的数据库名字,如use model(这一命令可以加“;”也可以不加)

MySQL数据库和表-技术中文网

3、输入 show tables;就可以看见你想要的看见的数据库里面有的所有名字了

MySQL数据库和表-技术中文网

4、输入describe sys_sc(想要查看的结构名)就可以查看表的结构了,也可以简写为desc sys_sc如图二

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

三、对MySQL数据库进行操作

1、创建数据库(在创建数据库之前可以看一下你现在想创建的数据名是否已经存在了),输入create database 数据库名称(你想要的名字),我这里是create database test; 当创建成功时会是图中内容,创建成功后可以使用 use test 来选择使用数据库,创建成功后我们可以用命令show databases;看一下是否真的创建成功了,语句及结果如图

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

2、修改数据库(在修改数据库之前,先想好要怎么样修改,修改不符合自己的意思,能不能在改回去),代码如下:

alter database test
-> default character set gb2312
-> default collate gb2312_chinese_ci;

不用“;”结束时,回车会跳转至下一行,我这里修改的是test数据库的默认字符集和校对规则,语句及结果如图

MySQL数据库和表-技术中文网

3、删除数据库(在删除数据库之前,要想好能不能删除),命令为 drop database test; 删除成功之后我们可以查看一下,数据库是否还存在,语句及结果如图

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

四、对MySQL表进行操作

1、创建表,先查看所有的数据库,在选择数据库,用use test命令来使用数据库,在写创建数据库的命令,我这里创建的是学生成绩的表,命令如下:

show databases;

use test

create table xs(
-> id int(11) not null auto_increment,
-> name varchar(20) not null,
-> pro_name varchar(100) null,
-> sex tinyint(1) not null,
-> birth_time datetime not null,
-> total_credits varchar(100) not null,
-> primary key(id)
-> )ENGINE=InnoDB AUTO_INCREMENT=2,DEFAULT CHARSET=utf8;

对应解释为:

  • “id”列:整数型长度为11<int(11)> 不允许为空<nou null>(null为允许为空) 自动增加( auto_increment )
  • “名字”列:字符型长度为20 不能为空
  • “专业名”列:字符型长度为100 可以为空
  • “性别”列:整形长度为1 不能为空
  • “出生日期”列:日期型 不能为空
  • “总分数”列:字符型(100) 不能为空
  • 设置主键为“id”列,每一张表只能有一个主键,主键也是每一张表的唯一标识
  • ENGINE=InnoDB AUTO_INCREMENT=2,DEFAULT CHARSET=utf8; 是设置这张表的字符集的

命令及结果如图(创建成功后可自行查看是否创建成功)

MySQL数据库和表-技术中文网
MySQL数据库和表-技术中文网

也可以复制表有以下两种命令:

use test
create table xs_copy1 like xs;

use test
create table xs_copy2 as (select * from xs);

命令及结果如图

MySQL数据库和表-技术中文网

2、修改表

(1)、修改表结构

①先查看表结构 describe xs_copy1,命令及结果

MySQL数据库和表-技术中文网

②在表中增加一列“班级”

use test
alter table xs add column class varchar(50) null;

命令及结果如图

MySQL数据库和表-技术中文网

③修改指定列的数据类型,比如将class(班级)的数据类型改为char,不允许为空

alter table xs_copy1 modify class char(50) not null;

命令及结果如图

MySQL数据库和表-技术中文网

④增加新的一列(奖学金等级)的同时删除一列(班级)已有的

use test

alter table xs_copy1
add scholarship_level tinyint(1) null,
drop column class;

命令及结果如图

MySQL数据库和表-技术中文网

(2)修改表名两种方法

将xs_copy1重命名为xs_one
use test
rename table xs_copy1 to xs_one;

将xs_copy2重命名为xs_tow
use test
alter table xs_copy2 rename to xs_tow;

命令及结果如图

MySQL数据库和表-技术中文网

3、删除表

use test
drop table if exists xs_tow;

命令及结果如图

MySQL数据库和表-技术中文网

五、表记录的操作

1、插入记录

(1)、插入记录四种方法

use test
insert into xs_one
value(1, '小胖', '软件专业', 1, '2000-02-23 00:00:00', 58, 1);

use test
insert into xs_one
values(4, '李四', '软件专业', 1, '2001-4-02 00:00:00', 49, null);

use test
insert into xs_one (id, name, pro_name, sex, birth_time, total_credits, scholarship_level)
values(2, '张三', '软件专业', 1, '1999-12-20 16:24:00', 50, null);

use test
insert into xs_one
set id=3, name='小梦', pro_name='软件专业', sex=0, birth_time=' 2000-3-23 00:00:00 ', total_credits='58', scholarship_level='2';

插入完成之后可以用select * from xs_one;命令查看是否插入,命令及结果如图

MySQL数据库和表-技术中文网

(2)、将表中的记录复制带另外一张表中

use test
insert into xs select * from xs_one;

命令及结果如图

MySQL数据库和表-技术中文网

(3)、插入图片

这里我就不演示了,插入的图片需要图片的绝对路径,比如

use test
insert into xs_one
value(1, '小胖', '软件专业', 1, '2000-02-23 00:00:00', 58, 1, 'C:\images\meimei.jpg');

2、修改记录

(1)、替换旧记录,如果直接使用insert再次插入主键(id)列一样的,系统会报错,如图一

insert into xs
values(4, '小于', '电商专业', 0, '1999-5-06 00:00:00', 51, 1);

MySQL数据库和表-技术中文网

将insert换成replace即可(替换原来的信息)

replace into xs
values(4, '小于', '电商专业', 0, '1999-5-06 00:00:00', 51, 1);

命令及结果如图

MySQL数据库和表-技术中文网

(2)修改单个表

use test

update xs
set total_credits = total_credits + 10;

update xs
set pro_name = '电商专业', scholarship_level=1
where id = 2;

select * from xs;

命令及结果如图

MySQL数据库和表-技术中文网

(3)修改多个表

use test

update xs, xs_one
set xs. scholarship_level=1, xs_one. scholarship_level=2
where xs.id=xs_one.id;

命令及结果如图

MySQL数据库和表-技术中文网

3、删除记录

(1)删除满足条件的行

use test
delete from xs
where id=2;

命令及结果如图

MySQL数据库和表-技术中文网

(2)从多个表中删除行(书面意思:删除xs_one中id值等于xs的id值的所有行和xs_tow中id值等于xs的id值的所有行)(我本人的理解:就是删除xs_one和xs_tow里面的id值和xs里面的id值对应的行)(比如xs里面的id有1、2、5、6,xs_one里面的id值有1、2、6、7,xs_tow里面的id值有2、6、8,则删除xs_one里面id等于1、2、6的行,删除xs_tow里面id等于2、6的行)

use test

delete xs_one, xs_tow
from xs_one, xs_tow, xs
where xs_one.id=xs.id and xs_tow.id=xs.id;

命令及结果如图(Emply set(0.00 sec)这个表示表中没有任何数据)

MySQL数据库和表-技术中文网

(3)清楚表中所有的数据(在清除表数据之前考虑清楚在选择是否清除所有数据)

use test
truncate table xs_one;

MySQL数据库和表-技术中文网

以上全部为实例,没有给出语法格式,因为只给出语法格式新手不好理解,高手不需要看语法格式,所以全部用到的是实例