文章目录
SQL
SQL是一种结构化查询语言,是一种所以关系型数据库都支持的语言,在我看来SQL就是类似于我们在终端中输入的命令,。
SQL语句主要分为三大类
- DQL:数据查询语言
- DML:数据操作语言
- DDL:数据定义语言
熟练掌握crud(增删改查)是使用数据库的基础
创建数据库
安装环境
这里我使用的是phpstudy集成环境一键安装,简单快速,不用自己配置信息。
配置环境变量
安装好mysql后找到phpsutdy的安装路径
你的安装路径\phpstudy_pro\Extensions\MySQL8.0.12\bin
其中MySQL版本号可能会有所变化
之后在cmd中输入mysql -V
测试是否安装成功
可视化工具创建
这里是使用的是SQLyog创建,按下Ctrl + D,然后取一个名字,之后再像下图中选择基字符集和数据库排序规则。
数据库的约束条件
在创建新表时,我们看到了下图所示页面。
其中,主键、非空、自增等就是数据库中表的约束条件。
约束条件 | 作用 |
---|---|
主键(primary key) | 物理上的储存顺序受到主键的影响 |
非空(not null) | 此数据不准为空 |
有无符号(Unsigned) | 默认数据为正数,选择此项后可为负数 |
唯一(unique) | 此字段的值不允许重复 |
默认(default) | 如果没有数据则填写此处的默认值 |
零填充(zerofill) | 自动用零填充空值 |
外键(foreign key) | 对关系字段进行约束,当关系字段填写时会到关联字段中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败。 |
更新(updata) | 常用于日期,自动更新日期为修改时间 |
unique在索引中可以添加
数据库基本数据类型
- 整数:int
数值 | 字节大小 | 有符号范围 | 无符号范围 |
---|---|---|---|
TINYINT | 1 | -128~127 | 0~255 |
SMALLINT | 2 | -32768~32767 | 0~65535 |
MEDIUMINT | 3 | -8388608~8388607 | 0~16777215 |
INT/INTEGER | 4 | -2147483648~2147483647 | 0~4294967295 |
BIGINT | 8 | -92233720368547758078~9223372036854775807 | 0~18446744073709551615 |
- 小数:decimal
- 字符串:varchar(可变长度字符串 ),char(不可变),text(大文本)
- 日期:data(年月日),time(当日时间),datetime(年月日和当日时间)
- 枚举类型:enum
注:小数decimal为浮点型decimal(5,2)表示为共五位数,小数占两位。
数据库的操作
基础命令详细信息
连接和和退出
连接数据库:mysql -h [ip地址] -u [用户名] -p
如果是连接本地数据库-h已经ip地址可以使用默认值,不用填写(-h的默认值为127.0.0.1或localhost
如图所示即为成功连接上服务器。
退出数据库exit
或quit
查询数据库版本
select version();
显示时间
select now();
查看所有数据库
show databases;
DDL(数据定义语句)
创建数据库
create database 数据库名;
但是直接创建的数据库字符集编码并不是utf8,我们需要指定字符集编码
create database 寻觅的DDL创建的数据库 charset=utf8
查看数据库的编码
show create database 数据库名;
使用数据库和查询正在使用的数据库
use 数据库名;
、select database();
删除数据库
drop database 数据库名;
数据表的操作
查看当前数据库中所有表
show tables;
创建表
常用约束条件 | 作用 |
---|---|
auto_increment | 表示自动增长 |
not null | 表示不能为空 |
primary key | 表示主键 |
default | 默认值 |
update | 常用于修改时间的自动更新 |
create table 表名字 (表头1 数据类型(长度) 约束, 表头2, 数据类型(长度) 约束)
默认长度为11 约束条件可以不写。
例:
- 不带约束条件
create table create建表(id int, data varchar(30))
- 带约束条件
create table create表(
序号 int primary key not null auto_increment,
姓名 varchar(30),
年龄 tinyint unsigned default 18,
身高 decimal(5,2),
性别 enum('男','女','保密') default '保密'
);
查看表的详细信息
desc 表名;
查看表的创建语句
show create table 表名;
修改表
添加字段
alter table 表名 add 列名 类型;
修改字段
- 只修改不改名
alter table 表名 modify 列名 类型及约束;
- 修改后重命名:
alter table 表名 change 原名 新名 类型及约束;
删除字段
alter table 表名 drop 列名;
删除表
drop table 表名;
基础命令常用单词
单词 | 作用 |
---|---|
select | 选择,用于输出时间、版本和查看正在使用的数据库 |
show | 显示,显示所有数据库或表 |
create | 创建,创建数据库或表 |
use | 使用,使用数据库 |
drop | 删除,删除数据库或表 |
desc | 描述, 查看表中的信息 |
alter | 修改, 添加字段 |
modify | 修改,修改字段内容 |
change | 改变,修改字段名称和内容 |
database | 数据库 |
table | 表 |