虽然navicat premium的可视化操作简便了很多的命令行操作,但作为一个coder怎么少得了命令行呢
启动和关闭mysql服务器
net start mysql;—–启动
net stop mysql;—–关闭
进入
mysql -h 主机地址 -u 用户名 -p 用户密码
退出
exit
—-MySql用户管理———
修改密码:首先在DOS 下进入mysql安装路径的bin目录下,然后键入以下命令:
mysqladmin -uroot -p123 password 456;
增加用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by ‘密码’
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on . to user1@localhost Identified by “password1”;
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by “”;
grant all privileges on wpj1105.* to sunxiao@localhost identified by ‘123’; #all privileges 所有权限
—–MySql数据库操作基础—–
显示数据库
show databases;
判断是否存在数据库test,有的话先删除
drop database if exists test;
创建数据库
create database test;
删除数据库
drop database test;
使用该数据库
use test;
显示数据库中的表
show tables;
先判断表是否存在,存在先删除
drop table if exists account;
创建表
CREATE TABLE account
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(20) NOT NULL,
sex
varchar(10) NOT NULL,
money
double DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
删除表
drop table account;
查看表的结构
describe account; #可以简写为desc account;
插入数据
INSERT INTO account
VALUES (‘1’, ‘aaa’, ‘1000’);
INSERT INTO account
VALUES (‘2’, ‘bbb’, ‘1000’);
INSERT INTO account
VALUES (‘3’, ‘ccc’, ‘1000’);
查询表中的数据
select * from account;
select id,name from account;
修改某一条数据
update account set name=’西瓜’ where id=4;
删除数据
delete from account where id=5;
and 且
select * from account where money>20 and money<24;
or 或
select * from account where money<20 or money>24;
between
select * from account where money between 20 and 24;
in 查询制定集合内的数据
select * from account where id in (1,3,5);
排序 asc 升序 desc 降序
select * from account order by id asc;
分组查询 #聚合函数
select max(id),name,money from account group by sex;
select min(date) from account ;
select avg(id) as ‘求平均’ from account ;
select count(*) from account ; #统计表中总数
select count(sex) from account ; #统计表中性别总数 若有一条数据中sex为空的话,就不予以统计~
select sum(id) from account ;
查询第i条以后到第j条的数据(不包括第i条)
select * from account limit 2,5; #显示3-5条数据
修改表的名字
格式:alter table tbl_name rename to new_name
alter table test rename to test_rename;
向表中增加一个字段(列)
格式:alter table tablename add columnname type;/alter table tablename add(columnname type);
alter table test add columnname varchar(20);
修改表中某个字段的名字
alter table tablename change columnname newcolumnname type; #修改一个表的字段名
alter table test change name uname varchar(50);
select * from test;
表position 增加列test
alter table position add(test char(10));
表position 修改列test
alter table position modify test char(20) not null;
表position 修改列test 默认值
alter table position alter test set default ‘system’;
表position 去掉test 默认值
alter table position alter test drop default;
表position 去掉列test
alter table position drop column test;
表depart_pos 删除主键
alter table depart_pos drop primary key;
表depart_pos 增加主键
alter table depart_pos add primary key PK_depart_pos
(department_id,position_id);
用文本方式将数据装入数据库表中(例如D:/mysql.txt)
load data local infile “D:/mysql.txt” into table MYTABLE;
导入.sql文件命令(例如D:/mysql.sql)
source d:/mysql.sql; #或者 /. d:/mysql.sql;