MySql基本操作命令
MySql基本操作命令,这里是Win平台下的基本命令。mysql不区分大小写。命令都需要以“;”英文分号结尾。
如果有错误或者建议欢迎指出,正在学习MYSQL中。
查询数据库
查询有多少数据库
SHOW DATABASES;
创建数据库
创建新数据库
CREATE DATABASE 数据库名;
删除数据库
DROP DATABASE 数据库名;
进入数据库
USE 数据库名;
查看数据表
SHOW TABLES;
创建数据表
CREATE TABLE 表名(字段1 字段类型,字段2 字段类型...字段n 字段类型)[字符编码];
添加表字段
ALTER TALBE 表名 ADD COLUMN 字段 字段类型;
更改字段名字、类型、位置;
ALTER TABLE 表名 MODIFY 字段 字段类型 [位置]//只可以更改字段类型和位置,字段类型可以是要改成什么字段,[位置]可以要可以不要;
ALTER TABLE 表名 CHANGE 旧字段 新资料 字段类型 [位置]//可以更改字段名,类型,位置
查看表结构
DESC 表名;
修改表名、删除表,删除字段
RENAME TABLE 旧表名 to 新表名;//修改表名
RENAME TABLE 旧表名 to 新表名,旧表名 to 新表名;//同时修改多个表名
DROP TABLE 表名;//删除表
ALTER TABLE 表名 DROP 字段;//删除字段
查看表数据
SELECT * FROM 表名;//查看所有表数据
SELECT 字段 FROM 表名;//查看指定字段的数据
SELECT * FROM WHERE 条件;//查看条件下的数据
给表添加数据
INSERT INTO 表名 VALUES (值1,值2...)//全局添加数据,值要与字段顺序和类型一致,字符串要用引号引起来
INSERT INTO 表名 (字段1,字段2),VALUES(值1,值2);//指定添加数据
LOAD DATA LOCAL INFILE 文件位置 INTO TABLE 表名;//导入本地数据
删除数据
DELETE FROM 表名;//删除所有数据
DELETE FROM 表名 WHERE 条件//删除指定条件的数据
truncate [table] 表名 ;//清空表,不会写入日志,会重置自增id,标识列
添加ENUM(枚举)表
create table 表名(字段,enum('规定数据','规定数据'...),字段 字符类型)[字符编码];//enum表,添加的数据那么只能是规定的数据。
create table 表名(字段,set('规定的数据','规定的数据'...),字段 字符类型)[字符编码]
添加&删除primary ket(主键)
create table 表名(字段 字段类型 primary key,字段 字段类型...)[字符编码];//创建表的时候添加
alter table 表名 modify 字段 字段类型 primary key;//修改类型时添加
alter table 表名 add primary key (字段);//直接给字段添加
alter table 表名 drop primary key;//删除主键,一张表只有一个主键,要更换主键,必须先删掉原来的主键
更新数据
update 表名 set 字段=新值 where 字段=旧值
添加删除唯一键(UNIQUE 约束)
create table 表名 (字段 字段类型 unique,...)//添加唯一键
alter table 表名 modify 字段 字段类型 unique key;//追加唯一键
alter table 表名 unique [key] 字段;//追加唯一键
drop index 字段 on 表名//删除唯一键
alter table 表名 drop index 字段//删除唯一键;//删除唯一建
数据表及数据的复制
create table 新表名 like 旧表名;//创建并复制旧表结构
create table 新表名 like 数据库名 旧表名;//跨数据库复制表结构
insert into 表名 like select * from 表名;//复制表数据
高级查询
select * from 表名 where 字段 = 值 || 字段 = 值;//逻辑查找指定的数据
select * from 表名 where 字段 in(值);//逻辑查找指定的数据
select * from 表名 group by 字段;//分组查询(只显示每组的第一个数据)
select 字段...count(*) from group by 字段... //多字段分组
select * from 左表名 left join 右表名 on 左表名.字段=右表名.字段//外链接查询
select * from 表名1 cross join 表名2 //交叉连接查询
select * from 表名1 inner join 表名2 on 表名1.字段=表名2.字段//内连接查询,查询的字段需要有主键
select * from 表名1 union[all] select * from 表名2//联合查询,加all 可以显示重复的数据