[更新中] MySql基本操作命令

in Stduy with 0 comment

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 可以显示重复的数据
Responses