本篇文章为mysql系列的第三篇,前两篇分别为安装mysql和mysql的必备信息(如mysql的专业术语),以及在cmd中登录mysql。
1)英文字母不区分大小写,可以根据习惯去写【不过通常使用小写,因为易读】
2)语句的标点符号,在命令的末尾加上;
在语句之间用“,”隔开
3)注释的标注方式:在文字前加上“–”
4)数据库名字的引用方式为,使用tab键上面的小顿号引用起来,这在删除数据库报错时更常用。
【以上标注符号均为英文标点】
5)对于增删数据表的记录时,遇到中文应放入“”双引号中。
输入命令
create database chengji;
输入命令
create database chengji02 charset=utf8;
输入命令
drop database chengji;
输入命令
select version();
输入命令
select now();
输入命令【记得加s】
show databases;
show create database chengji;
第二行*!40100 DEFAULT CHARACTER SET utf8表示数据库类型为utf8,注意没有-
DEFAULT ENCRYPTION=‘N’ */翻译为默认加密为否,意思是没有使用mysql默认的数据库类型。
首先选择使用的数据库
use chengji;
验证目前使用的数据表
select database();
再创建数据表
create table `一班`(id int, name varchar(20),English int);
【注意单词的拼写,如create最后面的e】
如name和English这两个字段的数据类型、约束(如是否为主键,非空限制等)
约束有:
auto-increment 数字自动增长
not null 非空
primary key 主键
default+ 默认值为什么
具体的操作如下,
id设为表里唯一的主键,并设置为自动增长。
name用的数据类型尽可能小些,减少占用的空间。
而English作为学生的成绩,本身是正数,因此可以将int加上限制unsigned,没有“-”20分这个符号。
create table `一班`(
id int primary key auto_increment,
name varchar(20),
English int unsigned
);
【这些约束没有先后顺序之分】
全部插入【是指按照字段一一对应的顺序,把每个字段都输入新的值】
输入代码
insert into `一班` values(0, "小明", 88),
insert into `一班` values(0, "小华", 90),
insert into `一班` values(0, "顾七", 99);
部分插入【只给部分字段赋予值,剩下的自动填充空或默认值】
insert into 表名(字段1,字段2,) values(值1,值2,);
如只增加小玲的名字
insert into `一班`(name) values('小玲');
alter table 表名 add 列名 类型;
如添加学生的手机号
alter table `一班` add mobile tinyint;
【注:手机号一般都是11位,因此存储的数据类型可以选择最小的,tinyint范围是-128-127。】
alter table 表名drop 列名;
如删除gender这一列
alter table `一班` drop gender;
delete from 表名 where 指定值 =值;
如删除id为2的一行,可以不是主键。
delete from `一班` where id =2;
alter table 表名 change 旧的列表名 新名 类型;
如将手机号更改为性别
alter table `一班` change mobile gender varchar(20);
alter table 表名 modify 列名 类型及约束;
如将gender的类型更改为int
alter table `一班` modify gender int;
设置所有列
update 表名 set 列名=值;
如将性别全部设置为男
update `一班` set gender='男';
update表名 set 列名=值 where 指定的内容【可以根据主键确定,也可以根据值来筛选】=值;
如更改指定人的性别
update `一班` set gender='女' where name='顾七';
【这种更新方式,可以用于标记某个不使用APP或网页的用户。
当一个用户注册时,他的数据会被存储到数据库中,但当他不使用时,通常不会直接将他的数据删除,反而是以某个值来进行标记。而这种方式,也被称为逻辑删除。
用户以往存储的邮箱等,可以定期发送推荐文章或活动,从而激活老用户。】
show tables;
desc `一班`;
select * from `一班`;
当数据表的内容不断增加,在查看时就会应接不暇,可以直接查看指定的内容。
select * from 表名 where 指定内容 =值;
select * from `一班` where name ='顾七';
select 列名 as 中文名, 列名 as 中文名 from表名;
如
select name as 姓名, gender as 性别 from `一班`;
show create table `一班`;
有帮助的话,顺手点个赞呗~
接下来,还有一系列mysql操作文章,欢迎关注。如果操作过程中遇到什么问题,欢迎留言、交流~