数据库 表操作

一、数据库基本操作语法

 

1. 创建数据库

 

-- 创建数据库,如果不存在则创建,可指定字符编码和排序规则

create database [if not exists] 数据库名 [字符编码集] [排序规则]; 

 

 

1. 修改数据库

 

-- 修改数据库的字符编码集和排序规则

alter database 数据库名 [字符编码集] [排序规则]; 

 

 

1. 删除数据库

 

-- 删除数据库,如果存在则删除

drop database if exists 数据库名; 

 

 

二、数据类型

 

1. 数值类型

-  tinyint :长度1字节,类似Java的 byte  ,可用于表示 bool  类型。

-  int :长度4字节,对应Java的 int  。

-  bigint :长度8字节,对应Java的 long  。

-  decimal :长度不定,对应Java的 BigDecimal  。

2. 字符类型

-  char(0 - 255) :长度固定。

-  varchar(M) :长度可变, M  是字符的个数。

-  TEXT :文本类型。

3. 日期类型

-  datetime :日期 + 时间,格式为年月日 时分秒。

-  date :日期,格式为年月日。

-  time :时间,格式为时分秒。

 

三、表操作

 

1. 创建表

 

-- 创建表,如果不存在则创建

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (

    field datatype [约束] [comment '注解内容'],

    -- 多个字段定义,以逗号分隔

    field datatype [约束] [comment '注解内容']... 

) [engine 存储引擎] [character set 字符集] [collate 排序规则]; 

 

 

示例:

 

-- 创建用户表,包含用户编号、用户名、密码、生日字段

create table if not exists users (

    id bigint comment '用户编号',

    username varchar(32) comment '用户名',

    password varchar(32) comment '密码',

    birthday date comment '生日'

);

 

 

1. 查看表结构

 

-- 查看表结构,显示列名、数据类型、是否可为空、索引、默认值、扩展信息等

desc 表名; 

 

 

示例:

 

desc users;

 

 

1. 修改表

 

-- 修改表结构

ALTER TABLE tbl_name [alter_option [, alter_option]...];

-- 新增一列

-- 在表中新增一列,可指定位置(FIRST或AFTER某列)

ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name] 

-- 修改某一列

-- 修改列的数据类型等定义,可指定位置(FIRST或AFTER某列)

MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name] 

-- 删除某一列

-- 删除表中的一列

DROP [COLUMN] col_name 

-- 重命名某一列

-- 将旧列名改为新列名

RENAME COLUMN old_col_name TO new_col_name 

-- 修改表名

-- 将表名改为新表名

RENAME [TO | AS] new_tbl_name 

 

 

示例:

 

-- 向users表新增一列gender

ALTER TABLE users ADD COLUMN gender tinyint(1) COMMENT '性别' AFTER username; 

 

 

1. 删除表

 

-- 删除表,如果存在则删除,可用于临时表

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name]...; 

 

 

四、CRUD操作

 

1. Create(新增)

 

-- 插入数据到表中

INSERT [INTO] table_name [(column [, column]...)] 

VALUES (value_list) [, (value_list)]...;

-- value_list格式:value [, value]...

 

 

示例:

 

-- 向users表插入一条记录,指定列插入

insert into users (id, name) values (1, '张三'); 

-- 向users表插入一条记录,全列插入(列顺序与表定义一致)

insert into users values (2, '李四', 'password', '2025-01-01'); 

-- 向users表插入多条记录

insert into users (id, name) values (3, '王五'), (4, '赵六'); 

 

 

1. Retrieve(检索)

 

-- 查询数据

SELECT 

    [DISTINCT] 

    select_expr [, select_expr]...

    [FROM table_references]

    [WHERE where_condition]

    [GROUP BY {col_name | expr},...]

    [HAVING where_condition]

    [ORDER BY {col_name | expr} [ASC | DESC],...]

    [LIMIT {[offset,] row_count | row_count OFFSET offset}];

 

 

示例:

 

-- 查询users表所有记录

select * from users; 

-- 查询users表中name列和id列

select name, id from users; 

 

 

1. Update(更新)

语法示例:

 

-- 更新表中数据

UPDATE table_name

SET column1 = value1, column2 = value2,...

[WHERE condition];

 

 

1. Delete(删除)

注意数据库删除操作危险,语法示例:

 

-- 删除表中记录

DELETE FROM table_name [WHERE condition];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值