Mysql基础-概论和基本指令

引言:关于数据库

数据库是用来记录和管理数据的仓库,数据库相对于文件能更快的管理和处理数据,数据库分类如下图所示。

数据库
关系型数据库
非关系型数据库
Oracle
Microsoft SQL Server
MySQL
用于网页
SQLlite
收费
免费
主要用于手机
MongoDB
爬虫
Redis
缓存

关系型数据库采用 行 (记录 )列 (字段 )–>表–>库 ** 的形式储存数据;非关系型数据库则采用 键值等类似字典 ** 的方式储存数据。数据库相对于其他的数据存储方式,有着持久化存储、读写速度极高、保证数据有效性等优点。数据库的调用框架如下图所示。

用户
数据库用户端
SQL语句
数据库服务器端
数据库1
数据库2
......

SQL是用于关系型数据库的指令语言,具体的命令分为**DQL(查询指令 )、DML(操作指令 )、DDL(定义指令 )、TPL(事务处理 )、DCL(数据控制 )**几大类。

基本SQL指令

配置完成的MySQL,只需要在命令行输入mysql -h 主机名 -P 端口编号 -u 用户名 -p 密码 即可登录MySQL。

1.库相关指令

指令语句语句功能
create database 库名
char set= 编码方式UTF8;
创建一个库
指定一个编码方式(UTF8)
show create database 库名;展示创建的库的属性
show databases;显示所有数据库
use 库名;进入指定库
select database();显示现在所在库
drop database 库名;删除库

2.表相关指令

指令语句语句功能
show tables;显示库内所有的表
show tables from 库名;不入库展示指定库所有表
create table 表名(
列名1,列数据类型 约束 ,
列名2,列数据类型 约束 ,
…);
创建一个表
第一列列名,数据类型和约束
第二列列名,数据类型和约束
desc 表名;查看表结构
show create table 表名;查看表创建语句
alter table 表名 add 列名 列数据类型;向表中添加新列
alter table 表名 modify 列名 类型及约束;修改指定列类型及约束
alter table 表名 change 原名 新名 类型及约束;重命名指定列并修改列类型及约束
alter table 表名 drop 列名 ;
alter table 表名 drop column列名1 ,
drop column列名2,… ;
删除指定列
删除多列必须有column
drop table 表名 ;删除表
2.1数据类型

数据类型后加(指定值),可指定数据大小。

2.1.1数值类型
类型大小(bytes)范围用途
TINYINT1 byte(-128,127)小整数值
SMALLINT2 bytes(-32 768,32 767)大整数值
MEDIUMINT3 bytes(-8 388 608,8 388 607)大整数值
INT或INTEGER4 bytes(-2 147 483 648,2 147 483 647)大整数值
BIGINT8 bytes(-9,223,372,036,854,775,808,
9 223 372 036 854 775 807)
极大整数值
FLOAT4 bytes(-3.402 823 466 E+38,
-1.175 494 351 E-38),
0,(1.175 494 351 E-38,
3.402 823 466 351 E+38)
单精度
浮点数值
DOUBLE8 bytes(-1.797 693 134 862 315 7 E+308,
-2.225 073 858 507 201 4 E-308),
0,(2.225 073 858 507 201 4 E-308,
1.797 693 134 862 315 7 E+308)
双精度
浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,
为M+2否则为D+2
依赖于M和D的值小数值
2.1.2时间及日期类型
类型大小(bytes)格式用途
DATE3bytesYYYY-MM-DD日期值
TIME3bytesHH:MM:SS时间值或持续时间
YEAR1byteYYYY年份值
DATETIME8bytesYYYY-MM-DD HH:MM:SS混合日期和时间值
2.1.3字符串类型
类型大小(bytes)用途
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据
2.1.4其他类型
类型范围用途
bit0,1,null一般用作标记
enum指定对象范围,共可有0-655352字节,整数管理,下标从1开始
set指定对象范围,共可有0-648字节,移位运算管理,下标从1开始
2.2约束
名称用途
primary key主键
foreign key外键
not null非空
unique唯一值
default 0默认值
auto_increment自动增长,
可用0,null,default占位
数据类型 unsigned无符号类型

3.数据相关指令

指令语句语句功能
insert into 表名(列名)
values(对应数据),(对应数据),…;
向表内添加数据,
无列名默认全部列,
可一次插入多组数据
update 表名 set 列名1=,
列名2=,… where 约束条件;
更新约束条件下的指定列的值,
无约束即所有
seclect * from 表名 where 约束条件;显示表内所有符合条件的数据,
无约束即所有
seclect 列名1 as 别名 ,
列名2 as 别名 ,…
from 表名 where 约束条件;
显示表内所有符合条件的指定列的数据,
列的名称可以指定别名,
排列顺序为代码顺序
delete from 表名 where 约束条件;删除表内所有符合条件的数据,
无约束即所有
alter table 表名 add 列名 bit default 0;
update 表名 set 列名=1 where 约束条件;
向表里添加删除标记,
把需要删除的数据标记为1,
不真正删除数据

4.其他指令

指令语句语句功能
select getdata();查看当前时间
select @@version;查看当前版本
source sql文件地址导入运行sql文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值