数据库和表的操作

每日分享:

从来不是让你把一次考试当成人生失败的赌注,只是想让你在足够年轻的时候,体会一次全力以赴。

目录

一、图形化Navicat的使用

1. Navicat的介绍

2. Navicat的使用

2.1 和MySQL数据库服务端建立连接

2.2 数据库的操作

2.3 数据表的操作

2.4 数据表中数据的操作

二、命令行客户端MySQL的使用

1. 登录和退出MySQL数据库

2. 数据库操作的SQL语句

3. 表结构操作的SQL语句

4. 表数据操作的SQL语句

5. 小结

三、as和distinct关键字

1. as关键字

 2. distinct关键字


一、图形化Navicat的使用

1. Navicat的介绍

Navicat是一套快速、可靠并价格适宜的数据库管理工具,适用于三种平台:Windows、mac OS以及Linux。可以用来对本机或远程的MySQL、SQL Server、SQLite、Oracle等数据库进行管理及开发。Navicat是一个数据库图形化客户端软件,让你可以以安全并且简单的方式对数据库进行操作

2. Navicat的使用

  1. 和MySQL数据库服务端建立连接
  2. 数据库的操作
  3. 数据表的操作
  4. 数据表中数据的操作

2.1 和MySQL数据库服务端建立连接

之后点击测试连接,会提示连接成功,再点击确定即可:

之后双击左侧hello数据库,变绿说明已连接:

2.2 数据库的操作

  1. 创建数据库
  2. 编辑数据库
  3. 删除数据库

创建数据库:

1. 在左侧空白处右击,选择‘新建数据库’

2. 填写数据库名称,选择编码格式

 说明:

  • 字符集:就是编码格式,选择utf8国际通用编码格式,支持中文
  • 排序规则:utf8_general_ci表示大小写不敏感,不区分大小写字母,a和A在字符判断中会被当做一样的处理,区分大小写可以选择utf8_bin

3. 双击选择创建好的数据库进行使用

编辑数据库:

1. 选择对应的数据库,右击选择‘编辑数据库’:

2. 可以修改字符集和排序规则:

删除数据库:

 选择对应的数据库,右击选择‘删除数据库’:

2.3 数据表的操作

  1. 创建数据表
  2. 编辑数据表
  3. 删除数据表

创建数据表:

1. 选择数据库中的表,右击选择‘新建表’

 2. 之后点击添加字段,后点击保存:

说明:

  • id 字段:int类型 无符号 主键 非空 自动增长
  • name 字段:varchar类型 非空
  • sex 字段:char类型 允许为空 默认为‘男’

编辑数据表:

1. 选择需要编辑的表,右击,选择‘设计表’

之后就可以继续添加修改字段了

删除数据表:

 1. 选择对应的数据表,右击,选择‘删除表’

2.4 数据表中数据的操作

  1.  查看表中数据
  2. 添加数据
  3. 修改数据
  4. 删除数据

查看表中数据:

1. 双击对应的表

添加数据:

1. 点击加号添加数据,数据添加完毕后需要点击对号让数据生效

修改数据:

1. 选择需要修改的记录,编辑修改即可,修改后也需要点击对号

删除数据:

1. 选中要删除的记录,右击选择‘删除记录’或者点击左下角的减号

二、命令行客户端MySQL的使用

1. 登录和退出MySQL数据库

登录数据库:

mysql -uroot -p

说明:

  • -u 后面是登录的用户名
  • -p 后面是登录密码,如果不填,回车之后会提示输入密码

命令中没有写-p:

登录数据库:

登录成功后,可显示当前时间:

select now();

退出数据库:

exit 或 quit 或 Ctrl+d

 

 

2. 数据库操作的SQL语句

1. 查看所有的数据库

show databases;

2. 创建数据库

create database 数据库名称 charset=utf8;

3. 使用数据库

use 数据库名称;

4. 查看当前使用的数据库

select database();

5. 删除数据库

drop database 数据库名称

3. 表结构操作的SQL语句

1. 查看当前数据库中所有表

show tables;

2. 创建表

create table students(

id int unsigned primary key auto_increment not null,

name varchar(10) not null,

age tinyint unsigned default 0,

height decimal(5,2),

gender enum('男', '女')

);

说明:

auto_increment:表示自增,一般配合主键使用,例:id为1,2,3,4等等

create table 表名(

字段名称 数据类型 可选的约束条件,

……

);

3. 修改表-添加字段

alter table 表名 add 列名 类型 约束;

4. 修改表-修改字段类型

alter table 表名 modify 列名 类型 约束;

说明:

  • modify:只能修改字段类型或者约束,不能修改字段名

5. 修改表-修改字段名和字段类型

alter table 表名 change 原名 新名 类型及约束;

说明:

  • change:既能对字段重命名又能修改字段类型还能修改约束

6. 修改表-删除字段

alter table 表名 drop 列名;

7. 查看创建SQL语句

show create table 表名;

8. 查看创库SQL语句

show create database 数据库名;

9. 删除表

drop table 表名;

4. 表数据操作的SQL语句

1. 查询数据

# 查询所有列

select * from 表名;

# 查询指定列

select 列1,列2,…… from 表名;

 查询所有列:

查询指定列:

2. 添加数据

# 1. 全列插入:值的顺序要与表结构字段的顺序完全一致,一一对应

insert into 表名 values(…);

# 2. 部分列插入:值的顺序要与给出的列的顺序对应

insert into 表名(列1,…) values(值1,…);

# 3. 全列多行插入

insert into 表名 values(要插入的值1),(要插入的值2)…;

# 4. 部分列多行插入

insert into 表名(列1,…) values(值1,…),(值2,…)…;

全列插入:

部分列插入(其他列使用默认值):

 全列多行插入:

部分列多行插入:

 

说明:

  • 主键列是自动增长,但是在全列插入时需要占位,通常使用(0 或 null 或 default)
  • 在全列插入时,如果字段列有默认值可以使用 default 来占位,插入后的数据就是之前设置的默认值

3. 修改数据(修改单行数据一定不要忘了where条件)

update 表名 set 列1=值1,列2=值2… where 条件;

我们觉得‘老八’这个名字不好,所以我们要更改他的信息:

4. 删除数据

delete from 表名 where 条件;

该删除操作为物理删除,一旦删除就不容易恢复,可以使用逻辑删除(用一个字段表示是否删除)来代替

# 添加删除表示字段is_del:0表示没有del,1表示已删除

alter table students add is_del tinyint default 0;

而逻辑删除操作也就是更改is_del的值

把‘老六’ “删除”:

我们还可以查看自己“删除”过哪些人:

5. 小结

  • 登录数据库:mysql -uroot -p;
  • 退出数据库:exit 或 quit 或 ctrl+d
  • 创建数据库:create database 数据库名 charset=utf8;
  • 使用数据库:use 数据库名;
  • 删除数据库:drop database 数据库名;
  • 创建表:create table 表名(字段名 字段类型 约束…);
  • 修改表-添加字段:alter table 表名 add 字段名 字段类型 约束;
  • 修改表-修改字段类型:alter table 表名 modify 字段名 字段类型 约束;
  • 修改表-修改字段名和字段类型:alter table 表名 change 原字段名 新字段名 字段类型 约束;
  • 修改表-删除字段:alter table 表名 drop 字段名;
  • 删除表:drop table 表名;
  • 查询数据:select * from 表名;或者select 列1,列2,… from 表名;
  • 插入数据:insert into 表名 values(…);或者 insert into 表名(列1,…) values(值1,…);
  • 修改数据:update 表名 set 列1=值1,列2=值2… where 条件;
  • 删除数据:delete from 表名 where 条件;

三、as和distinct关键字

1. as关键字

在使用SQL语句显示结果的时候,往往在屏幕显示的字段名并不具备良好的可读性,此时可以使用as给字段起一个别名:

# 以下语句中的as也可以省略

select name as 名字,age as 年龄,sex as 性别 from students;

as也可以给表起一个别名:

# as也可省略

select name as 名字,age as 年龄,sex as 性别 from students as 学生;

 2. distinct关键字

distinct可以去除重复数据行

select distinct 列1,… from 表名;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值