mysql基础命令
mysql基础命令
启动登录操作:
启动:
net start mysql
登录:
mysql -uroot -p
退出登录:
exit
数据库操作:
查看所有数据库:
show databases;
使用数据库:
use 数据库名;
创建数据库:
create database 数据库名 charset=utf8;
删除数据库:
drop database 数据库名;
数据表操作:
查看当前数据库中的表:
show tables;
查看表结构:
desc 表名;
创建表:例如创建学生表,foreign为外键约束
create table students( id int unsigned primary key auto_increment not null, name varchar(20) default '', age tinyint unsigned default 0, height decimal(5,2), gender enum('男','女','保密'), cls_id int unsigned default 0,
foreign key(cls_id) references classes(id) );
修改表-添加字段:
alter table 表名 add 列名 类型;
修改表-修改字段:重命名&不重命名
alter table 表名 change 原名 新名 类型及约束;
alter table 表名 modify 列名 类型及约束;
修改表-删除字段:
alter table 表名 drop 列名
删除表:
drop table 表名;
查看表的创建语句:
show create table 表名;
增删改查(CRUD)
增加:
insert into 表名 values(……) #全部插入时值的顺序与字段顺序对应
insert into 表名 (列1, , ,) value (值1, , ,) #部分插入
insert into 表名 values(……),(……),(……); #多行插入
删除:
delete from 表名 where 条件
修改:
update 表名 set 列1=值1, 列2=值2 where 条件;
查询:
select * from 表名; select 列1, 列2 from 表名;
多功能查询:
条件查询:
select * from 表名 where 条件;
结果排序:
select * from 表名 order by 列名 asc|desc; #asc升序,desc降序
聚合函数,用于快速统计:
select count(*) from 表名; # 查询总数 select max(列名) from 表名; #查询某列最大值 select sum(列名) from 表名; #求和
select avg(列名) from 表名; #平均
分组:
select 列名 from 表名 group by 列名; #根据值得到分组结果
部分行:可用于分页
select * from 表名 limit 0,3; #查询前3行
连接查询:
select * from 表1 inner/left/right join 表2 on 表1.列 = 表2.列; #内连接(两个表匹配)/左连接(两表匹配+左表特有)/右连接
数据库备份与恢复:
备份导出sql:(未进入mysql)
mysqldump -uroot -p 数据库名 > 名字.sql
从sql恢复,创建新的数据库:
mysql -uroot -p 新数据库名 < 名字.sql
凤舞九天