MySQL梳理

数据库、数据表基本操作

使用help cmd; 如:help create table;查找帮助,[]为可选项,()为必选项
参考文档

1. 数据库操作

  • 登录
mysql -h host_name -u user_name -p my_passwd

例如:mysql -hlocalhost -uroot --default-character-set=utf8 data_name

  • 查看数据库、数据表
show databases; 
show tables;
  • 创建数据库
create database school character set utf8 collate utf8_general_ci;
  • 选择使用那个数据库
use data_name;
  • 删除数据库(该操作太危险
drop database data_name;

2. 数据表操作

  • 创建表
create table student(
name varchar(20) not null comment '姓名',
sid int(10) not null primary key comment '学员',
major varchar(50) not null default '电器工程与自动化' comment '专业',
tel varchar(11) not null unique key comment '手机',
birthday date not null comment '出生日期'
);
  • 查看某个指定数据表的字段信息
show columns from student;
或
desc student;
或
describe student;
  • 查看创建表的信息
show create table student;
  • 重命名表名
alter table student rename student_new;
  • 重命名字段名称
alter table student change 原字段名 新字段名与新字段定义。例如:
alter table student change name new_name varchar(30) not null comment '姓名';
  • 增加和删减字段
alter table student add email varchar(50) not null comment '电子邮箱'alter table student drop email;
  • 删除表
 drop table student if exists student;

3. 备份与恢复

  • 备份
mysqldump --opt school -h MySQL数据库所在的域名或IP地址 -u user_name -p -r 备份的地址
例如:
mysqldump --opt school -h 127.0.0.1 -u root -p -r /home/backup.mysql
  • 恢复
mysql -h MySQL数据库所在的域名或IP地址 -u user_name -p 要恢复的数据库名 < 备份文件的路径
例如:
mysql -h 127.0.0.1 -u root -p school < /home/backup.mysql

常用SQL语句

1. 查询语句

基本查询:
select * from student where birthday > '1990-01-01';
正则表达式:
select * from student where sid regexp '^[5-9]+';
模糊查询:
select * from student where sid like '%123%';
  • 带结果排序的SELECT查询
    asc : 升序(默认)
    desc : 降序
select 字段名[字段名,...] from table_name where 条件表达式 order by  字段名[字段名,...] [asc | desc];
例如:
select * from student where birthday > '1990-01-01' order by birthday desc;
select * from student where birthday > '1990-01-01' order by birthday desc limit 30;

2. 插入语句

insert into table_name (字段名,...) values (字段名,...);
insert into table_name set 字段名=字段值,...;

insert into table_name (name, sid) values ('kitter',123456) on duplicate key update name=values(name), sid=values(sid);

3. 更新表记录

update table_name 数据表名 set 字段名=新字段值,...[where 查询条件];

4. 删除表记录

delete from 数据表名 [where 查询条件];

高级查询

1. 分组

grop by详解

select mark, count(*) from stu_mark where mark > 80 group by mark having mark > 90 order by mark desc;

2. 联合查询

联合、内联、左联、右联、全联合
连接查询参考1
连接查询参考2

3.子查询

有时进行查询,需要的条件是另外一个SELECT语句的结果,这个时侯就要使用子查询。用于子查询的关键字主要包括IN、NOT IN、=、!=、EXISTS、NOT EXISTS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值