mysql 操作
-
mysql 服务启动
mysql.server start -
Mysql 连接
-
本地数据库连接
mysql -u root -p yourpassword -
远程数据库连接
mysql -h 10.112.8.3 -u sjh -p yourpassword
-
-
改密码
set PASSWORD = PASSWORD("yourpassword123"); //mysql 语句必须以分号结束- 再将 yourpassoword123 改成别的
mysqladmin -u root -p yourpassword123 password yourpassword456
- 再将 yourpassoword123 改成别的
-
增加新用户
- 需要先用 root 身份进入数据库,再输入 sql 语句进行操作;
-
格式
grant selsect,update on 数据库.* to 用户名@登录主机 identified by 密码 - 示例
- 增加一个用户 user1,具有增删改查权限,只可以在 localhost 上登录,
grant select,delete,insert,update on '*.*' to [email=user1@localhost]user1@localhost[/email] identified by “”
- 增加一个用户 user1,具有增删改查权限,只可以在 localhost 上登录,
数据库操作
-
创建数据库
create database database_name; - 修改指定数据库中所有 varchar 类型的表字段的字符集为 UTF8,并将排序规则修改为 utf8_general_ci
SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, '(', CHARACTER_MAXIMUM_LENGTH, ') CHARACTER SET UTF8 COLLATE utf8_general_ci', (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END), ';') FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'databaseName' AND DATA_TYPE = 'varchar' AND ( CHARACTER_SET_NAME != 'utf8' OR COLLATION_NAME != 'utf8_general_ci' ); - 修改指定数据库中所有数据表的字符集为 UTF8,并将排序规则修改为 utf8_general_ci
SELECT CONCAT('ALTER TABLE ', table_name, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;') FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'databaseName'
数据操作
- 显示所有数据库
show databases; - 进入某特定数据库
use database_name; - 显示某特定数据库中所有的表
show tables; -
显示某个表的字段信息
desc table_name; -
创建表
create table Table_Name (name char(100), path char(100), count int(10), firstName char(100), firstMD5 char(100), secondName char(100), secondMD5 char(100), thirdName char(100), thirdMD5 char(100)); -
修改表名
rename table Table_Name to Table_Name_New; - 删除表
drop table Table_Name; -
插入数据
insert into Table_Name(name,path,count,firstName,firstMD5,secondName,secondName, secondMD5, thirdName, thirdMD5) VALUES('test','test',1,'name1','md1','name2','md2','name3','md3') -
查询
select * from Table_Name; select * from Table_Name where name = 'test'; select * from Table_Name order by id limit 0,2;- 查询表中的重复数据
select firstMD5, count(*) as count from Table_Name group by firstMD5 having count > 1;- 查询重复数据的其它字段的数据
select folderName, path, firstMD5 from MIFit_Image where firstMD5 in (select firstMD5 from MIFit_Image group by firstMD5 having count(firstMD5) > 1); -
更改
update Table_Name set folderName ='Mary' where id=1; -
删除
delete from Table_Name where folderName = 'test';
数据表字段操作
-
添加字段 (int 自增 不为 null 主键)
alter table Table_Name add id int auto_increment not null primary key; -
修改字段的顺序 (id 放置最前)
ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST | AFTER 字段名2; 其中: 字段名1:表示需要修改位置的字段的名称。 数据类型:表示“字段名1”的数据类型。 FIRST:指定位置为表的第一个位置。 AFTER 字段名2:指定“字段名1”插入在“字段名2”之后。 alter table MIFit_Image modify id int first; alter table MIFit_Image modify id int after name; -
移除 id 主键标志
alter table Table_Name modify id int,drop primary key; -
修改字段名 name 为 folderName
alter table Table_Name change name folderName char(100); -
删除字段
alter table TableName drop folderName; -
加索引
alter table TableName add index indexName(folderName); -
删除索引
alter table TableName drop index indexName;