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
凤舞九天
原文地址:https://www.cnblogs.com/ywheunji/p/14318220.html