前面介绍完安装和配置完成之后,接下来就可以大展拳脚了!
下面介绍一下一些库表的基本操作,方便需要的读者直接落地实践。直接看代码注释和截图吧~
一、建库和删库
建库和删库比较简单,一条语句即可。需要注意的是,删库的时候会把数据库下所有的表都删除,谨慎操作!
-- 建库
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函数快速验证(待补充)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66955.html