mysql操作基础知识

前言

关于mysql的安装和理论知识可以自行百度搜索,为方便书写本篇采用图片方式展示,若需要可视化工具可以自行下载。


以下是本篇文章正文内容,下面案例可供参考

一、SQL操作基础部分

操作数据库

创建、查看、修改、删除数据库

创建:字符集和字符集校对规则可以省略。
create database 数据库名称 character set 字符集 collate 字符集校对规则
在这里插入图片描述
查看:
查看数据库服务器中所有的数据库:show databases;
在这里插入图片描述
查看某个数据库的定义信息:show create database 数据库名称;
在这里插入图片描述
修改:
alter database 数据库名称 character set 字符集 collate 校对规则;
在这里插入图片描述
删除:
drop database 数据库名称;
在这里插入图片描述

其他操作:

切换数据库: use 数据库名称;
查看当前正在使用的数据库:select database();
在这里插入图片描述

操作表

要想操作表首先要了解一些基础知识,在下列给出。

创建、查看、修改、删除表

创建:
create table 表名称 (字段名称 字段类型(长度) 约束 ,字段名称 字段类型(长度) 约束…);

那么这个字段类型有哪些呢?看下表

java的类型 mysql的类型
byte/short/int/long tinyint/smallint/int/bigint
float float
double double
boolean true和false辨别 bit 使用0和1来辨别
char/String char和varchar类型
Date date/time/datetime/timestamp
File BLOB/TEXT

char和varchar的区别:
char代表是固定长度的字符或字符串。
定义类型char(8),向这个字段存入字符串hello,那么数据库使用三个空格将其补全。
varchar代表的是可变长度的字符串。
定义类型varchar(8),向这个字段存入字符串hello,那么存入到数据库的就是hello。

datetime和timestamp区别
datetime就是既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用null存入到数据库中
timestamp也是既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用当前的系统时间存入到数据库中。

那么这个约束有哪些呢?
约束:
约束作用:保证数据的完整性。
单表约束分类:
主键约束: primary key主键约束默认就是唯一非空的
唯一约束:unique
非空约束:not null

了解上述知识后,在doc中运行代码。(笔者调了一下doc窗口颜色,不用在意)

create table user(
	id int primary key auto_increment,
	username varchar(20) unique,
	password varchar(20) not null,
	age int,
	birthday date
);

在这里插入图片描述
查看:
查看某个数据库下的所有的表 : show tables;
在这里插入图片描述
查看某个表的结构信息 : desc 表名;
在这里插入图片描述
删除:
drop table 表名;
在这里插入图片描述
修改:
添加列
alter table 表名 add 列名 类型(长度) 约束;
在这里插入图片描述
修改列类型,长度和约束
alter table 表名 modify 列名 类型(长度) 约束;
在这里插入图片描述
删除列
alter table 表名 drop 列名;
在这里插入图片描述

修改列名称
alter table 表名 change 旧列名 新列名 类型(长度) 约束;
在这里插入图片描述

修改表名
rename table 表名 to 新的表名;
在这里插入图片描述

修改表的字符集
alter table 表名 character set 字符集;
在这里插入图片描述

操作表的记录

添加、修改、删除、查看记录

添加:
向表中插入某些列: insert into 表名(列名1,列名2,列名3…) values (值1,值2值3…)
向表中插入所有列: insert into 表名 values (值1,值2,值3…)
在这里插入图片描述
注意事项:
值的类型与数据库中表列的类型一致。
值的顺序与数据库中表列的顺序一致。
值的最大长度不能超过列设置最大长度。
值的类型是字符串或者是日期类型,使用单引号引起来。

如果插入中文记录错误,则很大可能是字符集不一致导致,可以用 show variables like ‘%character%’; 查看字符集,若是客户端为utf8则去mysql的安装路径修改.ini配置文件,改成gbk即可,具体可查看百度。

修改:
update 表名 set 列名=值 , 列名=值 [where条件];
在这里插入图片描述
注意:
1.值的类型与列的类型一致。
2.值的最大长度不能超过列设置的最大长度。
3.字符串类型和日期类型添加单引号。
删除:
delete from 表名 [where条件];
在这里插入图片描述
注意:
1.删除表的记录,指的是删除表中的一行记录。
2.删除如果没有条件,默认是删除表中的所有记录。

拓展:
删除表中的记录有两种做法:
delete from user; 删除所有记录,属于DML语句,原理是一条记录一条记录删除。事务可以作用在DML语句上的。可以用 rollback 语句回滚;

truncate table user; 删除所有记录,属扩DDL语句,将表删除,然后重新创建一个结构一样的表。事务不能控制DDL的。

查看:
查询前先创建表,并且添加数据。
例如:

create table exam(
	id int primary key auto_increment,
	name varchar(20),
	english int,
	chinese int,
	math int
);

insert into exam values (null,'张三',84,74,91);
insert into exam values (null,'李四',93,71,81);
insert into exam values (null,'王五',75,54,71);
insert into exam values (null,'赵六'
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值