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
表