1029mysql_1029 MySQL操作表 MySQL操作表数据行

本文详细介绍了MySQL数据库的基本操作,包括创建数据库与表,设置字符编码,添加、删除和修改表结构,以及数据的增删改查。涉及的关键概念有数据类型(如整型、浮点型、日期时间类型)、约束条件(如主键、非空、默认值)以及SQL语句的使用。此外,还提到了delete与truncate的区别以及如何进行数据的批量插入。
摘要由CSDN通过智能技术生成

数据库介绍

架构关系

数据库服务器:运行数据库管理软件

数据库管理软件:管理数据库

数据库:即文件夹,用来组织文件/表

表:即文件,用来存放多行内容/多条记录

mysql账号操作

mysql基于socket编写的C/S架构软件

数据库操作

语法:

create database 数据库名 charset 字符编码;

数据库命名规则:

字母、数字、下划线、@、#、$

区分大小写

唯一性

不能使用关键字,如create\select\use等等

不能单独使用数字

最长128位

语法:

drop database 数据库名;

语法:

改变编码格式

alter database 数据库名 charset 字符编码;

改变数据库名称:

只能删了重建,后续学习如何保存

drop database 数据库名;

create database 数据库名;

语法:

show databases;

表操作

对表结构的操作

选择表

语法:

use 表名;

唯有此语法不加分号也行

列约束条件

auto_increment 自增

primary key 主键索引,加快查询速度,列的值不能重复

not null 非空

default 设置默认值

列类型

数字

整型:

tinyint

smallint

int(*******)推荐使用

mediumint

bigint

整数类型

取值范围

unsigned 加上代表不能取负数 只适用于整型

浮点型:

float:不一定精确

decimal(m,d):非常精确的数字,m是数字总个数(负号不算),d是小数点后个数,四舍五入。

字符串

char(长度):

定长,无论插入的字符是多少个,永远固定占规定的长度

varchar(长度):

可变长度,根据插入的字符串的长度来计算所占的字节数,但是有一个字节是用来保存字符串的大小的

注意点:如果不能确定插入的数据的大小,一般建议使用varchar(255)

时间日期类型

YEAR

YYYY(1901/2155)

DATE

YYYY-MM-DD(1000-01-01/9999-12-31)

TIME

HH:MM:SS('-838:59:59'/'838:59:59')

DATETIME (********) #最常用的

YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y)

TIMESTAMP

YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

枚举类型

enum():列出所有的选项

语法:

创建表

create table 表名(

字段1名 数据类型(字符数) 约束条件,

字段2名 数据类型(字符数) 约束条件

);

新增列:

alter table 表名(

add 字段名 数据类型(完整的约束条件),

add 字段名 数据类型(完整的约束条件)

);

字段前新增:

alter table 表名 add 字段名 数据类型(完整的约束条件) first;

某个字段后新增:

alter table 表名 add 字段名 数据类型(完整的约束条件) after 字段名;

语法:

删除表:

drop table 表名;

删除列:

alter table 表名 drop 字段名;

改表名:

alter table 表名 rename 新表名;

修改字段:

alter table 表名 modify 字段名 数据类型(完整的约束条件);

alter table 表名 change 旧字段名 新字段名 新数据类型(完整的约束条件);

基本结构:desc 表名;或者descirbe 表名;

更详细定义信息:show create table 表名;

复制表结构

create table 表名 like 表名;

表记录操作

对表数据的操作

语法:

插入完整数据(顺序插入)

insert into 表名 (字段1,字段2,字段3...字段n) values (值1,值2,值3...值n);

insert into 表名 values (值1,值2,值3...);

指定字段插入数据

insert into 表名 (字段1,字段2,字段3...) values (值1,值2,值3...);

插入多条记录

insert into 表名 values (值1,值2,值3...值n),(值1,值2,值3...值n),(值1,值2,值3...值n);

插入查询结果

insert into 表1名 (字段1,字段2,字段3...字段n) select (字段1,字段2,字段3...字段n) from 表2名 where ...;

语法:

delete from 表名 where 筛选条件; ## 没有where条件,直接删除整个表

truncate from 表名; ## 没有where条件,直接删除整个表

delete与truncate的区别:

delete 之后,插入的数据从上一次主键自增加1开始,truncate则是从1开始

delete 删除,是一行一行删除,truncate:全选删除,truncate删除的速度是高于delete的

语法:

一次只能修改一条记录,可以修改这条记录的多个值

update 表名 set 字段1名=值1,字段2名=值2,字段3名=值3 where 条件;

语法:

select * from 表名;

select 字段名 from 表名 where 筛选条件; # 没有条件就选中列中所有值

筛选条件:

字段名 相关

> >= < <= != <>

between ... and...

in (a,b,c)

not in (a,b,c)

like 'x%' 以x开头

like '%x' 以x结尾

like '%x%' 包含x

distinct 避免重复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值