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

MySQL 内核参数是指 MySQL 数据库系统中可以配置和调整的各种参数。这些参数可以帮助我们优化 MySQL 数据库的性能和稳定性。以下是一些常用的 MySQL 内核参数: 1. `innodb_buffer_pool_size`: 这个参数指定了 InnoDB 存储引擎使用的内存缓存池的大小。默认值是 128MB,但是在实际生产环境中,我们需要根据数据量和服务器内存容量来调整这个参数的值。 2. `innodb_log_file_size`: 这个参数指定了 InnoDB 存储引擎的日志文件大小。默认值是 48MB。在高并发的写入场景下,如果日志文件过小,会导致频繁的切换和写入,影响性能。因此,我们需要根据实际情况来适当调整这个参数的值。 3. `max_connections`: 这个参数指定了 MySQL 数据库可以同时处理的最大连接数。默认值是 151。如果这个值过小,会导致连接被拒绝,如果这个值过大,会占用过多的系统资源。因此,我们需要根据实际情况来适当调整这个参数的值。 4. `query_cache_size`: 这个参数指定了 MySQL 查询缓存的大小。默认值是 0,表示禁用查询缓存。如果我们有一些经常被查询的数据,可以启用查询缓存来提高查询速度。但是,如果查询缓存过大,会占用过多的内存资源。 5. `tmp_table_size` 和 `max_heap_table_size`: 这两个参数指定了 MySQL 临时表的大小限制。默认值是 16MB。如果我们需要创建较大的临时表,需要适当调整这两个参数的值。 以上是一些常用的 MySQL 内核参数,但是在实际生产环境中,还需要根据具体情况来适当调整其他参数,以达到最优的性能和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

电猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值