MYSQL指令

发布于:2022-12-11 ⋅ 阅读:(605) ⋅ 点赞:(0)

MYSQL指令

MySQL指令

数据库(文件夹),数据表(excel文件)

数据库管理

show databases;  # 查看已有的数据库
create database <数据库名字>; # 创建数据库
create database <数据库名字>; DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # 以utf-8创建 
drop database <数据库名字>; # 删除数据库
use <数据库名字>; # 进入数据库
show tables; # 查看数据库下的数据表

数据表管理

  • 查看表
use <数据库名字>; # 进入数据库
show tables; # 查看数据库下的数据表
  • 创建表
create table <表名称号>(
	列名称,类型,
	列名称,类型,
	列名称,类型
)default charset=utf8

  • 可以写一行
create table tb1(id int, name varchar(16), age int)default charset=utf8;
  • 也可以分开写(直到分号才结束)
create table tb2(
id int, 
name varchar(16), 
age int
)default charset=utf8;
  • 两种创建方式均可
    在这里插入图片描述

  • 此时show tables就可以看到创建的两张表了
    在这里插入图片描述

  • 不允许为空

create table tb2(
id int,
name varchar(16) not null,  # 不允许此列为空 
age int  null # 允许此列为空(默认)
)default charset=utf8;

  • 插入时,写默认值
create table tb2(
id int, 
name varchar(16), 
age int default 18  # 插入数据时,age列的值默认为18
)default charset=utf8;


  • 主键一般表示当前行的数据的编码
create table tb2(
id int primary key,  # 主键,不允许为空,不能重复 
name varchar(16), 
age int
)default charset=utf8;
  • 内部维护,自增
create table tb2(
id int auto_increment primary key,  # 内部维护,自增 
name varchar(16), 
age int
)default charset=utf8;
  • 一般创建不允许id为空
create table tb2(
id int not null auto_increment primary key,  
name varchar(16), 
age int
)default charset=utf8;
  • 删除表
drop table <表名称>;
  • 展示表格的属性
desc <表名称>;

在这里插入图片描述

数据类型

以下列举常用的数据类型,更多参考官方文档

  • tinyint

有符号:取值范围:-128~127(有正负)默认
无符号:取值范围:0~255(只有正)

  • 以下就是创建无符号的表
create table tb2(
id int not null auto_increment primary key,  
age tinyint unsigned
)default charset=utf8;
  • int

int 有符号:取值范围:-2147483648~2147483647(有正负)默认
int unsigned无符号:取值范围:0~4294967296(只有正)

  • bigint

这个的范围比int还大的多

  • float
  • double
  • decimal

准确的小数值,m是数字总个数(负号不算),d是小数点后放两位,m最大值为65,d最大值为30

create table tb3(
id int not null auto_increment primary key,  
salary decimal(m,d)
)default charset=utf8;
  • char,速度快

定长字符串(固定用11个字符存储) ,最多可容纳255个字符

create table tb4(
id int not null auto_increment primary key,  
moble char(11)
)default charset=utf8;
  • varchar ,节省时间

变长字符串,真实数据多长,就按照多长存储。最大根据编码最大字节/3

create table tb5(
id int not null auto_increment primary key,  
moble varchar(11)
)default charset=utf8;
  • text

text数据类型用于保存变长的最大字符串,则可以多达六万多字符,mediumtext, longtext更多
一般,长文本用text,

  • mediumtext

  • longtext

  • datatime

YYYY-MM-DD HH:MM:SS

  • data

YYYY-MM-DD

数据行操作

  • 新增数据
insert into 表名(列名,列名) values(,);
  • 删除数据
delete from 表名;
delete from 表名 where 条件;
delete from usertable where id = 3;
delete from usertable where id = 3 and name = "王";
delete from usertable where id != 3;
delete from usertable where id > 3;
delete from usertable where id in (3,5); # 产出3和4
  • 修改数据
update 表名 set=;
update 表名 set=,=;
update 表名 set=值 wherr 条件;
  • 查询数据
select * from 表名称;
select 列名称 from 表名称;
select 列名称 from 表名称 where 条件;

练习

  • 创建用户表
create table usertable(
	id int not null auto_increment primary key,  
	name varchar(64) not null,
	password char(64) not null,
	email varchar(64) not null,
	age tinyint,
	salary decimal(10,2),
	ctime datetime
)default charset=utf8;

网站公告

今日签到

点亮在社区的每一天
去签到