MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle,MySQL显得更加的轻便灵活,开发速度快,更适用于中小型数据的存储与架构。从版本5以后,陆续支持了游标、触发器、事务、存储过程等高级应用,这也给MySQL的易用性和企业服务的发展添加了重要的砝码。数据库的基础很少,但数据库的性能优化却是最重要的,所以多多优化,必有裨益。
经过一段时间数据库的学习,阅读了《SQL必知必会》,现在经过一些总结,整理如下。
一、数据库操作
1.查看数据库
SHOW DARABASE;
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(60) NOT NULL,
score int NOT NULL,
PRIMARY KEY(id) #设置主键
)ENGINE=InnoDB; #存储引擎是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(80) NOT NULL;
ALTER TABLE tb_name DROP address;
ALTER TABLE tb_name CHANGE score score SMALLINT(4) NOT NULL;
四、插入数据
1、插入数据
INSERT INTO tb_name(id,name,score) VALUES(NULL,'张三',140),(NULL,'张四',178), (NULL,'张五',134);
2、插入检索出来的数据
INSERT INTO tb_name(name,score) SELECT name,score FROM tb_name2;
五、更新数据
UPDATE tb_name SET score=189 WHERE id=2;
UPDATE tablename SET columnName=NewValue [ WHERE condition ]
六、使用通配符过滤
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'; #_ 匹配一个字符