【MySQL】——简单明了的MySQL基础

关于MySQL的安装,在这里我就不再赘述(其他博主写的很详细),利用管理员权限打开cmd窗口,在cmd中输入net start mysql,在cmd中会提示mysql启动成功,接着在cmd中输入mysql -u root -p,再次输入密码就可以看到mysql的欢迎界面(如果没有修改密码,root权限下的密码为空,需要输入密码时直接回车)

一、MySQL数据类型

(1)整型:

在这里插入图片描述
(2) 浮点型:
在这里插入图片描述
(3)日期与时间类型:
在这里插入图片描述

  • 表示年,月,日,一般用date类型
  • 表示年,月,日,时,分,秒,一般都用datetime类型
  • 需要经常插入或者更新日期为当前系统时间,一般用timestamp类型
  • 表示时分秒,一般使用time类型
  • 表示年份,一般使用year类型,因为该类型比date类型占用更少的时间

(4)字符串类型:
在这里插入图片描述
如果字符串长度经常发生变化则使用varchar,否则选用char类型

(5)如果需要存储大量字符串(如存储文章内容的纯文本),可使用TEXT系列类型
在这里插入图片描述

二、MySQL对表的操作

1、表的概念

表是包含数据库中所有数据的数据库对象,表中的数据库对象包含列,索引,触发器,其中触发器是指用户定义的书屋命令集合,当对一个表中的数据进行插入,更新等操作的时候,这组命令会自动执行,可以确保数据的安全性和完整性

2、创建表

create table tableName(
属性名 字段类型,
属性名 字段类型,
……
属性名 字段类型
);
最后一个字段类型后面没有逗号,整个语句的小括号后边有分号。

例如:(一定要注意中英文标点的区分!!!)
在这里插入图片描述
3、查看表
show tables;
在这里插入图片描述
说明创建表成功。
4、展示表的结构
desc tablename;
在这里插入图片描述
5、删除表

drop table tablename; (这里我就不放截图啦)

6、修改表
alter table old_table_name rename new table_name;
在这里插入图片描述
7、增加字段

alter table table_name add 属性名 属性类型; //在表的最后一个位置增加字段。
alter table table_name add 属性名 属性类型 first; //在表的第一个位置增加字段
alter table table_name add 属性名 属性类型 after 已有的属性名; //在关键字所指的属性后边增加字段

给表的最后字段增加一个属性height
在这里插入图片描述
在这里插入图片描述
8、删除字段
alter table table_name drop 属性名;

9、修改字段

修改字段的数据类型:
alter table table_name modify 属性名 数据类型;
修改字段的名称
alter table table_name change 旧属性名 新属性名 旧数据类型;
同时修改字段的名称和数据类型
alter table table_name change 旧属性名 新属性名 新数据类型;

同时修改旧属性名字和数据类型
在这里插入图片描述
10、操作表的约束
Mysql支持完整性约束
完整性指的是数据的准确性和一致性
在这里插入图片描述
下图是把表建立好之后,添加主键:

在这里插入图片描述
当然你也可以在创建表的时候添加主键,创建表时添加主键的方式:

create table tableName(
属性名 字段类型 Primary key,
属性名 字段类型,
……
属性名 字段类型
);

或者

create table tableName(
属性名 字段类型,
属性名 字段类型,
……
属性名 字段类型,
Primary key(id)
);

关于Mysql的外键约束,这里贴一个我觉得讲的很完整的链接:Mysql的字段约束

三、数据库的增删查改

(1)新增
–单行插入
insert into 表(字段1,…,字段n) values (value1,…,values n)
在这里插入图片描述
多行插入:
insert into 表(字段1,…,字段n)values
(value1,…),
(value2,…),
(valuen,…);
在这里插入图片描述
(2) 查询
–全列查询

select *from 表名

–指定列查询

select 字段1 ,字段2...fron 表名

–去重distinct

select distinct 字段 from 表名

—排序order by

select * from 表名 order by 排序字段

–条件查询where

1)基本查询
例1:查询英语不及格的同学以及成绩(<60)
select name,english from student where english<60;2:查询语文成绩好与英语成绩的同学
select name from student where chinese>english;

2)AND与OR
例1:查询语文成绩大于80分,且英语成绩大于80分的同学
select* from score where chinese>80 and english>80;2:查询语文成绩大于80或者英语成绩大于80的同学
select* from score where chinese>80 or english>80;

3)范围查询
--between...and...1:语文成绩在[80-90]之间的同学以及语文成绩
select name,chinese from score where chinese between 80 and 90;
---in--2: 查询数学成绩是58或者59或者98或者99分的同学以及数学成绩
select math from score where math in (58,59,98,99);

--模糊查询--1:能够匹配到姓孙的人(%)
select name from student where name like '孙%';2:匹配严格的一个任意字符(_)
select name fron student wher name like '孙_';

4)NULL的查询:is [not] NULL1:查询电话号码不为空的学生
select* from student where telphone is not NULL; 

5) 分页查询
例1:从0开始,筛选n条结果
select ...from table_name [where...][order by...] limit n;2:按照id分页,每页3条记录,分别显示第1,23页
第一页:
select * from score order by id limit 3 offset 0;
第二页:
select * from score order by id limit 3 offset 3;
第三页:
select * from score order by id limit 3 offset 6;  //如果结果不足6个不会有影响

(3)修改
语句:update 表名 set 字段1=value1,字段2=value2… where 条件

1:将小明同学的数学成绩修改为80分
update score set math=80 where name='小明’;2:将总成绩倒数前三的三位同学的数学成绩机上30分
update score set math=math+30 order by chinese+math+english limit 3;

(4)删除
语句:delete from 表名 where 条件

1:删除小明同学的成绩
delete from score where name='小明' ;2:删除整个表的数据
drop table if_exists for_delete;

总结:本节主要是mysql的入门,多练几遍就很简单。本文也是对于Mysql的数据类型,单表的增删查改等相关内容,没有涉及到联合查询,having的用法,这几天我也会加紧复习,再写出一个Mysql的进阶学习,对于本文的不足之处,希望广大网友提出

原创文章 78 获赞 21 访问量 3543

猜你喜欢

转载自blog.csdn.net/Vicky_Cr/article/details/105364688
今日推荐