一、 MySQL基础操作
-
添加系统服务: mysqld -- install 服务名(一般设置为mysql)
-
启动服务: net start mysql
-
关闭服务: net stop mysql
-
连接到mysql服务端: mysql -h 服务端IP地址 -P 3306 -u root -p 密码
-
本机连接: mysql -u root -p 密码
mysql.ini 中[mysql]配置客户端连接的时候,指定一下用户名和密码,那么我们在进行mysql客户端连接的时候,直接输入mysql然后回车就可以了,并且用户是我们下面指定的root用户
user=root
password=666 -
查看当前用户: select user();
-
设置密码: alter user 'root'@'localhost' identified by '123';
-
查看mysql版本: select version();
-
查看mysql初始信息: s;
-
查看各角色的编码: show variables like "%char%";
-
查看数据文件存储路径: show global variables like "%datadir%";
-
查看库创建语句: show create database 库名G;
-
查看表创建语句: show create table 表名G;
-
cmd命令输错换行时退出的方法: c
二、 MySQL增删改查
库的操作:
-
增:
create database db; -
查:
show databases; 查看所有的库
show create database db1; 查看单独某个库的信息
-
改:
alter database db1 charset latin1; 修改库的字符集 -
删:
drop database db1; -
切换库:
user db; -
查看当前所在的库:
select database();
表的操作:
-
增:
create table t1 (id int, name char(10)); -
查:
show tables; 查看当前库中的所有表
show create table t1; 查看单表的创建信息
desc t1; 以列表形式查看单表信息
- 改:
alter table t1 modify name char(3);
alter table t1 change name name1 char(2);
-
删:
drop table t1; -
清空表:
delete from t1; 如果有自增id,新增的数据,仍然是以删除前的最后一行作为起始。
truncate table t1; 数据量大,删除速度比上一条快,且直接从零开始,
行的操作:
-
增:
insert into t1 values (1,"张三"), (2,"李四"); -
查:
select * from t1; 查看t1表的所有字段数据
select id, name from t1; 查看t1表的id, name字段的信息
-
改:
update t1 set name="王五" where id=2; -
删:
delete from t1 where id=1;
三、 数据库迁移
-
复制数据库:
-
复制数据库中所有的内容
mysqldump -u root -p --all-databases > db.sql
-
复制数据库中的某几个库
mysqldump -u root -p --databases 库名1 库名2 > db.sql
-
复制数据库中的某张表
mysqldump -u root -p 库名 表名1 表名2 > db_table.sql
-
还原数据库:
mysql -u root -p < db.sql
-
复制表:
-
只复制表结构到新表
creare table 新表名 select * from 库名.旧表名 where 1=2 主键类型和自增方式是不会复制过去的
create table 新表名 like 库名.旧表名 把旧表的所有字段类型都复制到新表
-
复制表结构及数据到新表
create table 新表 select * from 旧表名
-
复制旧表的数据结构到新表(两个表结构一样)
insert into 新表 select * from 旧表
- 复制旧表的数据结构到新表(两个表结构不一样)
insert into 新表 (字段1, 字段2......) select 字段1, 字段2...... from 旧表