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