【MYSQL初级篇】入门学习【增删改查-库表数据】
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
🍁博主简介
🏅云计算领域优质创作者
🏅华为云开发者社区专家博主
🏅阿里云开发者社区专家博主
💊交流社区运维交流社区 欢迎大家的加入
相关文章
文章名 | 文章地址 |
---|---|
【MYSQL初级篇】入门学习【增删改查-库表数据】 | https://liucy.blog.csdn.net/article/details/128396592 |
【MYSQL中级篇】数据库数据查询学习 | https://liucy.blog.csdn.net/article/details/128717294 |
Column 1 | Column 2 |
---|---|
centered 文本居中 | right-aligned 文本居右 |
MYSQL入门学习目录
前言
没有安装mysql的大家可参考【 Centos7安装Mysql5.7超详细版】、【【云原生】Docker之创建并进入mysql容器】 两种方式任选其一来安装
SQL语句
- DDL 数据定义语言 create drop alter
- DML 数据操纵语言 update delete insert
- DQL 数据查询语言 select
- DCL 数据控制语言 grant revoke
数据库
查看数据库
show databases;
创建数据库
create database 库名;
#创建数据库并设置为utf8格式
create database cs character set utf8 ;
删除数据库
drop database 库名;
表
进入某数据库
use 库名;
查看某数据库中所有的表
show tables;
创建表
创建学生表id学号自增主键姓名性别年龄生日地址邮件手机号成绩。
- ZEROFILL int(3)的时候要是00几的话可以在int(3)后面加一个zerofill
- PRIMARY KEY 主键
- AUTO_INCREMENT 自增
- default 0 设置默认值
- comment 备注
create table student (id int(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT comment'学号',name varchar(255) not null comment'姓名',sex char(4) not null comment'性别',age int not null comment'年龄',birthday varchar(255) comment'生日',address varchar(255) not null comment'住址',email varchar(50) comment'邮箱',iphone varchar(255) comment'手机号',score int not null comment'成绩')comment='学生表';
删除表
drop tables 表名;
查看表结构:
#视觉上会好很多推荐
desc 表名;
#查看表结构的构成语句详细
show create table 表名;
#精简查看表结构
show create table 表名\G;
修改表结构
添加字段及类型
alter table 表名 add 字段 数据类型;[first | after 字段]
first是在第一行加after是在最后一行加也可以指定字段在哪个字段后面加默认追加
#默认追加
alter table student add hobby varchar(255);
#添加一个字段在第一行
alter table student add nvpy varchar(255) first;
#添加一个字段在iphone字段后面
alter table student add npy varchar(255) after iphone;
删除字段及类型
alter table 表名 drop 字段名;
#删除nvpy字段
alter table student drop nvpy;
修改字段及类型
单个字段类型修改
alter table 表名 modify 字段 数据类型;[first | after 字段]
#修改npy的字段类型为varchar(20)
alter table student modify npy varchar(20);
#修改npy的字段类型为varchar(256)并放到第一行
alter table student modify npy varchar(256) first;
#修改npy的字段类型为varchar(50)并放到name的下一行
alter table student modify npy varchar(50) after name;
多个字段类型修改
alter table 表名 change 字段 新字段 数据类型;[first | after 字段]
#修改npy字段改名npy为nanpy字段类型改为int类型
alter table student change npy nanpy int;
#修改nanpy字段改名为nanfu字段类型改为char(4)并且放到第一行
alter table student change nanpy nanfu char(4) first;
#修改nanfu字段改名为npy字段类型改为varchar(255)并且放到iphone后一行
alter table student change nanfu npy varchar(225) after iphone;
修改表名
alter table 原表名 rename 新表名;
alter table student rename xuesheng;
#查看表名
show tables;
数据
增
#新增一组数据
insert into 表名 values (值1,值2..);
#新增多组数据
insert into 表名 values (值1,值2..), (值1,值2..);
#新增指定多组数据
insert into 表名(字段1字段2...) values (值1,值2..);
#新增一组数据
insert into student values (null,'张三','男',15,7.12,'北京市朝阳区某小区1号楼1单元1011','zhangsan@163.com',16222817282,120);
#新增多组数据5组
insert into student values (null,'李四','男',18,9.02,'北京市朝阳区某小区1号楼1单元1012','lisi@163.com',1214323282,121),(null,'王五','女',18,2.9,'北京市朝阳区某小区1号楼1单元1010','wangwu@163.com',12234332296,100),(null,'老六','女',19,1.19,'北京市朝阳区某小区1号楼1单元101','laoliu@163.com',13246780092,124.5),(null,'小七','女',17,4.24,'北京市朝阳区某小区1号楼1单元109','xiaoqi@163.com',15278906648,123),(null,'老八','男',16,6.07,'北京市朝阳区某小区1号楼1单元105','laoba@163.com',18267814238,123.5);
#查询student表中所有数据
select * from student;
新增数据报错1366 - Incorrect string value: '\xE7\x94\xB7' for column 'sex' at row 1
这个报错的意思的你的字符集不对修改一下字符集为utf8即可如果用的navicat可以直接找库右击修改如果在linux中可以执行alter database cs character set utf8;
修改库的编码格式how variables like '%char%';
可通过查看编码格式修改完重启mysql再次试一下就好了
删
#删除表中所有数据慎用
delete from 表名;
#删除某表中的指定行
delete from 表名 where 列=值;
#删除id为004的人这里注意因为我们前面的两位是默认的两个0所以只要删除4就行4==004
delete from student where id=4;
#删除手机号为”13246780092“的人
delete from student where iphone="13246780092";
#查询student表中所有数据
select * from student;
注完成之后会将数据重新添加上
附加
删除表主键id需要重0开始的可执行truncate table student;
注此操作会让数据全部清除请谨慎使用
改
代表列、代表值比如主键、手机号具有唯一性
update 表名 set 要修改的列=值 where 代表列=代表值;
#修改id=1“张三”的住址为“北京市朝阳区某小区1号楼1单元106”
update student set address='北京市朝阳区某小区1号楼1单元106' where id=1;
#修改id=6“王五”的性别为“男”地址为“北京市朝阳区某小区1号楼1单元104”
update student set sex='男',address='北京市朝阳区某小区1号楼1单元104' where id=6;
#查询student表中所有数据
select * from student;
查
select * from 表名;查看所有字段的内容
select 字段 from 表名;
#查询student表中所有数据
select * from student;
#查询student表中的姓名和成绩数据
select name,score from student;
select name as 姓名,score as 成绩 from student;