Mysql数据库常用操作整理

时间:2021-06-27 20:40:31

0.说明

MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle,MySQL更拥有轻便、灵活、开发速度快的特色,更适用于中小型数据的存储与架构,被数以万计的网站采用。从5版本以后,陆续支持了游标、触发器、事务、存储过程等高级应用,这也给MySQL的易用性和企业服务的发展添加了重要的砝码。

一. 数据库操作

1. 查看数据库

SHOW DATABASES;

2. 创建数据库

CREATE DATABASE db_name; #db_name为表名

3. 使用数据库

USE db_name;

4. 删除数据库

DROP DATABASE db_name;

二. 创建表

1. 创建表

CREATE TABLE table_name
(
id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
name char() NOT NULL,
score int NOT NULL,
PRIMARY KEY(id) #设置主键
)ENGINE=InnoDB;

2. 复制表

CREATE TABLE tb_name2 SELECT * FROM tb_name;

3. 创建临时表

CREATE TEMPORARY TABLE tb_name; #(这里和创建普通表一样)

4. 查看数据库中可用的表

SHOW TABLES;

5. 查看表的结构

DESCRIBE tb_name;

6. 删除表

DROP TABLE tb_name;

7. 表重命名

RENAME TABLE name_old TO name_new;

三. 修改表

ALTER TABLE tb_name ADD COLUMN address varchar() NOT NULL;
ALTER TABLE tb_name DROP address;
ALTER TABLE tb_name CHANGE score score SMALLINT() NOT NULL;

四. 插入数据

1. 插入数据

INSERT INTO tb_name(id,name,score) VALUES(NULL,'张三',),(NULL,'张四',), (NULL,'张五',);

2. 插入检索出来的数据

INSERT INTO tb_name(name,score) SELECT name,score FROM tb_name2;

3.复制一条记录(只有id不同)

insert into article(id, title,keywords,desc,contents) select ,title,keywords,desc,contents from article where article_id = ;

扩展

从不同的表复制
insert into 表1 select * from 表2 where id =** ; 同一张表中复制(无主键)
insert into 表1 select * from 表2 where id =** ; 同一张表中复制(有主键)
insert into 表1(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表1 where id= ** ;

五. 更新数据

UPDATE tb_name SET score= WHERE id=;
UPDATE tablename SET columnName=NewValue [ WHERE condition ]

六. 常用查询

1. 通配符

SELECT prod_id, prod_name
FROM tb_name
WHERE prod_name LIKE 'jet%'; #%匹配任何字符出现任何次数
SELECT prod_id, prod_name
FROM tb_name
WHERE prod_name LIKE '_ jet'; #_ 匹配一个字符

2. 拼接

select CONCAT(task_desc, '_', task_class, '_', id) as tab from taskclass_info

结果

任务1_6208_219933
任务2_6209_220001

3. 用某个字符做拼接福

select CONCAT_WS(separator, str1, str2,...) from ***

其中separator是连接符