mysql --关系型数据库系统

数据库:
非关系型:mongodb--json,noSql;
有关系型oracle ,mysql
关系---类似一张表,项目中所涉及的实体,往往看做一张表,如成绩管理系统中,学生,课程,成绩,管理员,也可以实体与实体之间的联系页数一张表;
创建数据库表,需要对业务非常熟悉,--通过产品原型[axure,在线墨刀]以及产品经理沟通,

表(table):有行和列构成;

记录(record行):表中的一行;
字段(filed列):一个字段则是表中的一列即某个实体的一个属性;如学生表中有一列存储姓名,姓名这是学生的一个属性;
数据库服务器[database server]:

  • 安装了数据库管理系统的计算机,可以称为数据库服务器,用于存放数据库,
    数据库服务器可以与web服务器放置在不同的服务器上;
    在数据库服务器上可以创建n个数据库,往往一个项目对应一个数据库

数据库[database]:

  • 数据库是用于存放数据表--通常某个项目所用的数据表都会存在一个数据库;

操作mysql

安装--启动服务--管理mysql[通过dos下管理,软件工具:Navicat,web管理方式:phpmyadmin]

在cmd窗口下管理mysql

添加环境变量
电脑--属性--高级系统设置--环境变量--PATH 添加路径,(;号加上路径‘D:\phpStudy\MySQL\bin’[mysql.exe所在路径])
进入数据库:mysql -u数据库账号 -p密码 -h数据库服务器ip或域名;[本地可以省略-h]
el:mysql -uroot -proot;[u是参数,root是账号,默认密码:root]

操作数据库相关命令;

show databases;:查看所有的数据库;
show databases like 'uc_%;'//查看所有一uc_ka开头的数据库,%代表任意0个或者多个字符
show databases like '___';//查看所有数据库名是4个字符的,_代表任意一个字符
show databases like '%t';//查看所有数据库名以t结束
``use mysql--选择当前数据库,[use 数据库名];show tables;----查看当前数据库中所有表;create database 数据库名称----创建数据库drop database 数据库名----删除数据库 [请慎重,注意内置的mysql数据库不要删除]delimiter $设置结束标志为$;status查看数据库的所有信息;【版本,当前数据库端口,用户等信息】select * from 表名---查看指定表中的所有记录,*代表所有列,‘select * from user’select host,user,password from user;查看指定字段的所有记录//select 字段名1,字段名n from 表名----查看指定表中的指定字段所有记录update 表名 set 字段名n=值 [where 条件]update user set password=password('123456') where user='root' and host='localhost'flush privileges;更新之后刷新数据;show create table 表名;`查看创建表的sql语句;

mysql 中列数据类型: ? 数据类型 可以查看此数据类型的描述;? char;

字符串:

  • char(len)--固定字符串长度,0-255;字段名name char(10)//字段名name的长度最大为10位
    varchar(len)--变长字符串长度,0-65535字节;分配的空间:是实际存储的大小,在加上一个固定长度,数据比较大,性能就比较差;
    enum('值1','值2')--枚举类型,有预选值,只能在值列表中任选一个;//sex enum('男','女');
    set('值1','值2')--集合类型,在值列表中选一个或多个;
    text--变长文本型,存储文章内容,商品介绍等大段文本;0-65535字节
    blob--变长文本型,用于存储二进制文本,比如图片内容,多媒体广告; 0-65535字节

tinytext--变长文本型;0-255
mediumtext----变长文本型; 大概64Mb 0-16777215;
longtext----变长文本型; 大概4gb 0-16777215;

tinyblob--变长文本型;用于存储二进制文本;0-255
mediumblob---变长文本型; 用于存储二进制文本;大概64Mb 0-16777215;
longblob---变长文本型; 用于存储二进制文本;大概4gb 0-16777215;

在mysql中创建表结构的SQL语句:

create table 表名(
字段名1 数据类型 属性列表,
字段名2 数据类型 属性列表,
字段名n 数据类型 属性列表
)engine=表类型 default charset=编码;

show create table 表名; 查看创建表结构的sql语句
数子类型:

  • 整型 有符号:signed 无符号:unsigned
    tinyint(M)--占1个字节;储存数据范围 1字节=8bit;有符号-128--127;无符号:0-255;
    smallint(M) --占2个字节;储存数据范围;有符号;-32768-32767(-215-215-1);无符号:0-65535(0-2^16-1);
    mediumint(M)-- --占3个字节;储存数据范围;有符号;(-223-223-1);无符号:(0-2^24-1);
    int(M)-- --占4个字节;储存数据范围;有符号;(-231-231-1);无符号:(0-2^32-1);
    bigint(M)-- --占8个字节;储存数据范围;有符号;(-263-263-1);无符号:(0-2^64-1);
    整型数据类型的小括号中M--指的是显示位数,不是存储长度,以0填充时,查询位数不足时就以0填充

  • 浮点型
    float(m,n);单精度浮点数--定长,4个字节,四舍五入;float(3,1) 范围:-99.9-99.9
    double(m,n);双精度浮点数--定长,8个字节,四舍五入;
    decimal(m,n);不定长浮点数,实际所占空间大小+1;四舍五入;
    m--数字总位数,n--小数位数

  • 日期
    date yyyy-mm-dd ;年月日
    datetime :yyyy-mm-dd hh:ii:ss 年月日,时分秒;
    year yyyy 年;
    timestamp 时间戳 yyyymmddhhiiss
    在window的 dos界面下要正常显示,要更改客户端编码: set names gbk;
    修改hosts //C:\Windows\System32\drivers\etc

如果忘记了数据库帐号与密码怎么办?

1.停止数据库服务器
2.mysqld --skip-grant-tables
3.找到mysql安装目录下的bin文件夹,再找到mysql.exe,双击打开dos窗口
4.use mysql
5.update user set password=password('xx') where user='' and host=''
6.flush privileges;
7.结束掉mysqld.exe进程
8.重启数据库服务器

你可能感兴趣的:(mysql --关系型数据库系统)