MySQL是一个十分轻便的dbms,轻便、灵活,更适用于中小型数据的存储与架构。MySQL被数以万计的网站采用,从5版本以后,陆续支持了游标、触发器、事务、存储过程等高级应用,这也给MySQL的易用性和企业服务的发展添加了重要的砝码。数据库的基础很少,但数据库的性能优化却是特别重要的,所以多多优化。
零. 用户管理
1. 切换用户
第一种方法
1、dos进入mysql安装bin目录下: cd /d d:\sftwr\mysql\bin
2、输入:mysql -u root -p db
3、输入用户密码 pwd
root为用户名;pwd为用户密码;db为数据库名称;
一. 数据库操作
1. 查看数据库
SHOW DATABASES;
2. 创建数据库
CREATE DATABASE db_name; #db_name为表名
3. 使用数据库
USE db_name;
4. 删除数据库
DROP DATABASE db_name;
5.修改数据库编码
alter database my_db character set utf8;
二. 表操作
1. 创建表
表的创建分为几个blocks: 字段、索引、约束
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;
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;
8. 修改表
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'; #_ 匹配一个字符
七.索引的建立和撤销
可以删除那个创建外键时生成的索引 而不删除外键
例如 :
alter table 表1 add foreign key name(colum1) references 表2(column);
这时候会生成 一个外键 和一个索引 名字都一样 然后删除索引
alter table 表1 drop index name
或者
alter table 表1 drop key name
现在就没有索引而外键还在