mysql基础知识,你要的这里都有

MySQL基础

说到MySQL,大多数人都能顺口说出MySQL是个关系型数据库。的确是,那么关系型数据库的特点是里面的数据是以行和列的形式存储的,而表里面的行叫做记录,列叫做字段,表与表之间的逻辑关系叫做关系,所以说MySQL是个关系型数据库

MySQL有着开源、跨平台等的特点,在Web时代迎来了快速的发展,MySQL的一大核心便是存储引擎,比较常见的有InnoDB、MyISAM

InnoDB特点:支持事务、外键、行级锁,共享表空间

MyISAM特点:支持表级锁,独享表空间

根据其特点选择合适的引擎:要是执行查询操作多的表用MyISAM,执行写操作多的表使用InnoDB

MySQL有三大范式

第一范式:列不可拆分(每个字段都是原子性的,不可再分解)

第二范式:唯一标识(有主键,非主键字段依赖主键字段)

第三范式:引用主键(非主键之间不能相互依赖)

设计关系数据库时,需要遵从不同的规范要求,设计出合理的关系型数据库,这些不同规范的要求就被称为不同的范式

连接数据库

mysql-h主机地址-u用户名-p密码

#主机地址是要连接的目标地址

#用户名是要连接电脑的名称

#密码是连接,在后面可直接写也可不写

#mysql-hlocalhost-uroot-p

创建数据库

createdatabase数据库名charactersetutf8

#createdatabaseuserinfocharactersetutf8

#指定字符集

创建数据表

createtable数据表名(字段名数据类型)charactersetutf8

#createtableuser(idint,namevarchar,agetinyint,addressvarchar)charactersetutf8

数据类型分为:

数值、字符、枚举、日期时间

数值分为整数和浮点数

1、整型

*int大整型(4个字节)

*tinyint微笑整型(1个字节)

*smallint小整型(2个字节)

*bigint大整型(8个字节)

2、浮点数

*float(4个字节,最多显示7个有效位)

*double(m,n)(最多显示15个有效位)

float(m,n)#m表示总位数,n表示小数位位数#float(5,2):.99

字符类型

1、定长(char)取值范围:1~

2、变长(varchar)取值范围:1~

3、text/longtext

枚举类型

1、单选(enum)字段名enum(值1,值2,……)

2、多选(set)字段名set(值1,值2,……)

日期时间

1、dateYYYY-MM-DD

2、timeHH:MM:SS

3、datetimeYYYY-MM-DDHH:MM:SS

4、timestampYYYY-MM-DDHH:MM:SS

注:datetime和timestamp都表示的年月日时间,但不同之处是datetime不给值时返回NULL,而timestamp不给默认值时返回当前时间

增删改查

insert

insertinto表名values(值)insertinto表名(字段1,字段2)values(值1,值2)

#insertintouser(name,age)values(zhangsan,18)

delete

deletefrom表名where条件

#deletefromuserwhereid=1

#表示要删除id为1的记录

deletefromuser

#删除表中所有记录

update

update表名set字段名=值where条件

#updateusersetname=zhangsanwhereid=2

#表示更改id为2的字段名的值为zhangsan

注:后面如果不加where条件的话,表示更改所有的记录

select

select字段名from表名select*from表名

#select*fromuser

#字段名可以是一个,也可以是多个

#*代表要查看所有的字段

删除整张表

droptableuser

删除整个数据库

dropdatabaseuserinfo

表字段操作

添加字段

altertable表名add字段名数据类型first/after字段名

altertableuseraddschoolvarcharafterage

修改字段

altertable表名modify字段名新数据类型

altertableusermodifyschoolchar

删除字段

altertable表名drop字段名

altertableuserdropschool

字段修改

altertable表名change字段名新字段名数据类型

altertableuserchangeschoolschchar

表重命名

altertable表名rename新表名

altertableuserrenameusers




转载请注明:http://www.aierlanlan.com/tzrz/1608.html