MySQL安装及应用合集(4):MySQL库表基本操作-增删改查
前面介绍完安装和配置完成之后,接下来就可以大展拳脚了!
下面介绍一下一些库表的基本操作,方便需要的读者直接落地实践。直接看代码注释和截图吧~
一、建库和删库
建库和删库比较简单,一条语句即可。需要注意的是,删库的时候会把数据库下所有的表都删除,谨慎操作!
-- 建库
create database my_data;
-- 查看创建的库
show databases;
-- 删库
drop database my_data;
以上代码,运行截图如下:
2022/07/17补充:
建库的时候,建议带上字符集,即:
create database my_data default charset utf8;
当我通过msi安装包安装之后,建库默认使用了latin1_swedish_ci
字符集,该字符集仅支持英文,不支持中文,这会导致插入数据时,如果带有中文字符时会报错,截图如下:
这种情况下有几个解决方案:
方案1:删库重建
方案2:修改库/表的字符规则
-- 修改库的字符集
alter database my_data default character set utf8 collate utf8_general_ci;
-- 修改表的字符集
alter table my_data.users convert to character set utf8 collate utf8_general_ci;
-- 修改表的字段的字符集
alter table my_data.users change province province varchar(16) character set utf8 collate utf8_general_ci;
alter table my_data.users change city city varchar(16) character set utf8 collate utf8_general_ci;
二、建表和删表
注意:执行以下代码,需要有my_data
库,请在创建my_data
库之后执行以下代码。
create
时加上if not exists
和drop
时加上if exists
是为了防止报错,可选择加或者不加。建表时,比较繁琐一些,需要字段名、字段类型和一些配置信息。
-- 建表
create table if not exists my_data.users
(user_id bigint not null auto_increment comment '用户ID',sex int default 2 comment '性别 0女 1男 2未知',age int comment '年龄',mobile varchar(16) not null comment '手机号',wxid varchar(32) comment '微信号',province varchar(16) comment '省份',city varchar(16) comment '城市',created_at datetime not null default current_timestamp comment '创建时间',update_at datetime not null default current_timestamp on update current_timestamp comment '更新时间',primary key(user_id)
) comment '用户表 by Xin学数据';-- 查看表
show tables from my_data;
desc my_data.users;-- 删表
drop table if exists my_data.users;
以上代码,运行截图如下:
三、表数据的基本操作
注意:执行一下步骤,需要有my_data
库和该库下有users
表,请创建完my_data
库和该库下users
表(上一步已经把表删了,再粘贴跑一遍建表语句即可)再执行。
3.1 插入数据
插入数据时可以指定字段插入,其他没有插入数据的字段一般返回null
值,除非你指定了默认值,像我制定了sex
默认值是2
,插入的时候,没有插入sex
字段则取默认值2
。插入数据有多种方法,学习时都可以玩一玩。
-- 插入一行数据
insert into my_data.users(sex,age,mobile,wxid,province,city) values(null,20,'12345678901',null,'北京','北京');
insert into my_data.users(user_id,age,mobile,wxid,province,city) values(3,20,'22345678901',null,'上海','上海');-- 插入多行数据,使用values()
insert into my_data.users(sex,age,mobile,wxid,province,city) values
(1,30,'32345678901',null,'广东','广州'),
(2,23,'13345678901',null,'广东','深圳'),
(0,25,'15345678901',null,'浙江','杭州');-- 插入多行数据,使用select 语句(由于没有其他表,直接用union拼几行数据)
insert into my_data.users(sex,age,mobile,wxid,province,city)
select 0,25,'16345678901',null,'福建','厦门' union all
select 1,25,'16345678901',null,'四川','成都' union all
select 2,25,'16345678901',null,'浙江','杭州'
;-- 新增列
alter table my_data.users add income double after city;
以上代码,运行截图如下:
3.2 删除数据
如果是要清空表的数据,把删除行的语法中的where
条件去掉即可。注意,delete
和drop
操作表是不同的,delete
是删除数据,不删表;而drop
直接把表删除了,数据也会连带删掉。
-- 删除行
delete from my_data.users where user_id=1;-- 删除列
alter table my_data.users drop column income;
以上代码,运行截图如下:
3.3 修改数据
-- 修改数据
update my_data.users set sex=1,age=22 where user_id=3;
以上代码,运行截图如下:
3.4 查询数据
最基本的查询就是一个select xx from tables;
,上面已经有展示了好多相关的查询语句和结果,此处略过。
-- 查询数据
select * from my_data.users limit 100;
四、小结
上面按照库、表、数据的维度进行讲解,下面以增、删、改、查的维度做下总结汇总:
-- 增
create database db_name;
create table tb_name(col_name [type]……);
alter table tb_name add col_name [type]……;
insert into my_data.users(col_names) values(<values>);
insert into my_data.users(col_names) values(<values>),(<values>),(<values>)……;
insert into my_data.users(col_names) select col_name from tb_name;-- 删
drop database db_name;
drop table tb_name;
delete from tb_name where <condition>;
alter table tb_name drop column col_name;-- 改
update db_name set col_name=xx,col_name=xx where <condition>; -- 查
show databases;
show table from db_name;
desc tb_name;
select * from db_name limit 100;# 注释:
# db_name: 数据库名
# tb_name: 表名
# col_name(s): 字段名
# <values>: 值
# <condition>: 条件
【传送门】合集内容:
MySQL安装及应用合集(1):MySQL安装方式介绍
MySQL安装及应用合集(2):zip安裝包的安装方式
MySQL安装及应用合集(3):msi安裝包的安装方式
MySQL安装及应用合集(4):MySQL库表基本操作-增删改查
MySQL安装及应用合集(5):如何优雅地写SQL(待补充)
MySQL安装及应用合集(6):MySQL函数快速验证(待补充)
MySQL安装及应用合集(4):MySQL库表基本操作-增删改查相关推荐
- MySQL安装及应用合集(2):zip安裝包的安装方式
一.文件下载 在 MySQL官网上,点击DOWNLOADS ,可以进入到下载首页,拉到最底下的 MySQL Community (GPL) Downloads 点击进入到产品下载页面. 产品下载页面有 ...
- MySQL安装及应用合集(3):msi安裝包的安装方式
一.文件下载 在 MySQL官网上,点击DOWNLOADS ,可以进入到下载首页,拉到最底下的 MySQL Community (GPL) Downloads点击进入到产品下载页面. 产品下载页面有很 ...
- mysql 修改库的校对集_mysql数据库的基本操作(增删改查、字符集、校对集)
MySQL数据库概述 MySQL数据库是经典的关系型数据库管理系统,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Dat ...
- R操作MySQL数据库创建表、删除表、增删改查(CRUD)
R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...
- MYSQL表的增删改查进阶(下)
MYSQL表的增删改查进阶 4. 查询 4.1 聚合查询 4.1.1 聚合函数 4.1.2 group by字句 4.1.3 having 4.2 联合查询 4.2.1 内连接 4.2.2 外连接 4 ...
- 【MySQL系列】 MySQL表的增删改查(进阶)
目录 ??前言 ??一.数据库约束 ???1.1 约束类型 ???1.2 null约束 ???1.3 unique约束 ???1.4 default约束 ???1.5 primary key 约束 ? ...
- servlet+javabean+jdbc+mysql基于MVC模式的课件管理系统,有三个表的增删改查和课件搜索、课件上传、课件下载功能, 具体功能请看界面上的导航条
源码支持在idea.eclipse.myeclipse运行,数据库采用MySQL数据库,项目采用mvc设计模式开发,页面采用jsp+html+css+js完成. servlet+javabean+jd ...
- 数据库概论之MySQL表的增删改查1
MySQL表的增删改查 1.MySQL表的CRUD 2.插入数据 2.1 语法 2.2 注意事项 3.查找语句 3.1 全列查找 3.2 指定列查询 3.3 指定查询字段为表达式 3.4 查询字段指定 ...
- 2.MySQL表的增删改查(进阶)
这里写目录标题 MySQL表的增删改查(进阶) 1.数据库约束 2.表的设计 3.新增 4.查询 4.1 聚合查询 4.2 联合查询 5.内容重点总结 MySQL表的增删改查(进阶) 1.数据库约束 ...
- MySql之表的增删改查
day03 表的增删改查 回顾讲解的内容: 注意:DQL:Data Query Language 数据查询语言 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QLmaY ...
最新文章
- 织梦dedecms实现按照字母搜索的实现方法
- mysql 实验_实验二 MySQL 实验.doc
- (二)ngxin设置用户认证
- 库克斯坦福大学毕业演讲批评硅谷现状:我们有责任改变方向
- 【全部译文】Deep-Waveform: A Learned OFDM Receiver Based on Deep Complex Convolutional Networks
- 一款可以精准爬取网站的网络数据采集系统
- 用CAD看图软件查找文字需要怎么做
- 多重影分身之术!快来领取属于自己的个人智能助手!
- CodeWars刷题练习
- 滴滴的大数据计算平台演进之路
- 三相电机驱动电路详解
- HGame 2023 Week3 部分Writeup
- Hadoop大数据平台搭建课程笔记
- 网站加载图片慢 网页响应慢 网页优化
- webpack-dev-server filename中的路径问题,IntelliJ IDEA local history有效期设置,标签顺序设置,dva call put 解构
- 我的世界java内存不足_我的世界:使用启动器开MC,提示内存过大?我教你怎么解决...
- Google Play发布android app
- 图片文字怎么转换成文本?可以试试这三种途径
- 鸡汤_下班后,该做什么
- Hive的HQL语句及数据倾斜解决方案
热门文章
- 基于java的客户关系管理系统的设计与实现(论文+毕业设计)(完整源码可演示)
- 计算机无法打印图片,电脑中打印机可以打印文档却无法打印图片如何解决
- 智慧城市——智慧社区解决方案
- 一位全减器VHDL语言
- (Python)裁剪人脸图片获得人脸的嘴唇区域
- java将Map转换为List
- [Spring实战系列](9)装配集合
- 谷歌浏览器为什么要禁用Flash插件?深夜有感而发
- 极域电子教室中计算机图标对齐,极域电子教室使用手册整理,新手必备
- [寒江孤叶丶的CrossApp之旅_07][入门系列]CrossApp中信息框CAAlertView的使用