目录
XAMPP(Apache+MySQL+PHP+PERL)
端口号(port)
- 用于区分一台主机中接收到的数据包应该转交给哪一个进程进行处理
- TCP端口号与UDP端口号是相互独立的
- 动态端口号:49152 - 65535 被称为动态端口号一般不固定分配某种服务而是动态分配的。
mysql部署结构
服务器端,负责存储维护数据
启动:C:\xampp\mysql\bin\mysqld.exe
客户端 ,负责连接数据库,操作数据
C:\xampp\mysql\bin\mysql.exe
客户端连接服务端
mysql.exe -h
- -h,连接的服务器,本地服务器,127.0.0.1 (IP地址) ///localhost(域名)
- -P,端口号,mysql端口号:3306
- -u,用户名,管理员用户名root
- -p,密码,root密码默认为空
- quit;退出服务器连接
所有命令必须以分号结束
简写:
- mysql -uroot
- mysql.exe -h127.0.0.1 -P3306 -uroot -p(完整体)
交互模式
客户端输入指令,向服务端发起请求,服务端将获取的结果返回客户端
脚本模式(推荐)
客户端将执行命令写在脚本文件中,
mysql -uroot < 脚本文件(拖拽方式)
SQL命令语法规范
- SQL命令可以跨越多行设置,以分号(英文)结束
- 关键字大写,非关键字小写,不区分大小写
- 单行注释,-- (空格)/#
- 多行注释,/* 显示所有数据库 */
常用命令
- use 数据库名称;进入指定数据库
- show tables;查看当前数据库表
- desc 表名;以表格形式展示表机构
-
drop database if EXISTS 数据库名称; //丢弃数据库
-
create database 数据库名称; //创建新的数据库
-
create table 数据库表名称(
列名称 类型 //int(数字),varchar(长度值)字符串
……
//创建表
)
insert into 数据表名称 values(值1,值2,值3); //插入表数据
update 数据表名称,set 列名称=值,…… where 条件 ; //修改表数据
delete from 数据表名称 where 条件; //删除表数据
mysql 中文乱码
- 方案一
- 脚本文件的编码为utf-8
- 设置客户端连接服务端的编码为utf8 //set names utf8;
- 设置服务器端创建数据库存储字符的编码为utf8 //charset=utf8
- 方案二
- 退出交互模式
- chcp 65001(65001为UTF-8的代码页)
列类型
数值型
- tinyint 微整型 1字节 范围:-128~127
- smallint 小整形 2字节 范围:-32768~32767
- int 整型 4字节 范围:-2147483648~2147483647
- bigint 大整型 8字节
- float 单精度浮点型 4字节
- double 双精度浮点型 8字节
- 浮点型,存储的值越大,精度越低。
- decimal(M,D) 定点小数,小数点不会发生变化, 16字节 //M:总的有效位数,D:小数点后的有效位数
日期时间型
date 日期型 格式:2022-09-30
time 时间型 格式:15:47:30
datetime 日期时间型 格式:2022-09-30 14:47:30
字符串型
varchar(M)变长字符串, 不产生空间浪费,操作速度慢,存储变化长度的数据 M最大值:65535
char(M)定长字符串,会产生空间浪费,操作速度快,存储固定长度的数据, M:最大值:255
text(M)大型变长字符串,最大值:4G
约束
主键约束——primary key
创建数据表时设置主键约束,不允许插入重复的值,在一个表中主键只能有一个 ,null关键字不加引号,
非空约束——not null
不允许插入null
自增约束——auto_increment
在mysql中,可通过关键字auto_increment为列设置自增属性,只有整型列才能设置此属性,每个表只能定义一个auto_increment列,并且必须在该列上定义主键约束(primary key)或候选键(unique)。