Mysql基础操作

//创建数据库
CREATE DATABASE IF NOT EXISTS TEST DEFAULT CHARSET utf8 COLLATE utf8_general_ci
// 如果数据库不存在,则创建 并指定字符集以及校对规则

//删除数据库
drop database Test

//选择数据库
use Test

//创建数据表
CREATE TABLE IF NOT EXISTS `tt`(
	`id` INT UNSIGNED AUTO_INCREMENT,
	`tag` VARCHAR(30) NOT NULL,
    PRIMARY KEY (`id`)
    INDEX `idx_tag` (`tag`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 DEFAULT COLLATE=utf8_bin
// 创建表时 整形有时会有个括号 int(11)这种 实际并非代表其真实
// 的占用空间 而是搭配fillzero来使用的可见长度
// 而对于char(4)来说就是分配的实际空间 其中后面数字代表的是字符 位于0-255
// 对于varchar(4)来说 超过4个字符的会被丢弃
// 既然varchar是可变的 那么直接指定最大数字的是否可行呢?不可行,因为从
// 数据库里取出时,并不知道数据的大小,需要分配指定的内存空间,将varchar取出
// 指定的数字越大 那么内存空间浪费越大

// 直接丢弃表
DROP TABLE tt
// 删除表内所有数据 保存表结构
TRUNCATE table tt
// 删除部分数据 可以进行回滚操作
delete from tt where 1=1;

// 插入数据
INSERT INTO tt (id, tag) values (1,1),(2,3),(5,5)

// 查询数据
select * from tt where id>0 order by id desc limit 1,3
select tt.id, name from tt, ddd where tt.id=ddd.id

// 更新表中的内容
UPDATE tt SET tag="39" where id > 0
// 如果未用主键作为where条件的话需要 SET SQL_SAFE_UPDATES = 0

// like匹配 SQL提供了四种匹配方式
// %: 表示任意0个或多个字符
// _: 表示任意单个字符
// []: 表示括号内所列任意字符的一个
// 除了这些 也支持正则表达式进行匹配操作

// UNION 用于将不同表中查询的结果集合并 默认会删除重复的项 UNION ALL会包含重复
SELECT id from tt
UNION
SELECT id from ddd

// group by select中出现的field必须得出现在group by中
select name,count(*) from employee_tbl group by name

// join(inner join) 获取两个表中字段匹配关系的记录
// left join(左连接) 获取左表所有记录,即使右表没有对应匹配的记录
// right join(右连接) 获取右表所有记录,即使左表没有对应匹配的记录
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

// NULL值的判断 必须使用IS NULL, IS NOT NULL
select * from rt where id is not null

// 修改表的相关信息
ALTER TABLE tt add i INT NOT NULL DEFAULT 100
ALTER TABLE tt ALTER i SET DEFAULT 1000
ALTER TABLE tt DROP i
alter table tt modify tag char(5)
alter table tt change tag tag2 char(5)

// 索引
create table t1(
	id int,
    key `i_d`(`id`)
);
ALTER TABLE tt ADD INDEX i_idx(id)
ALTER TABLE tt ADD  PRIMARY KEY(id)
ALTER TABLE tt ADD  UNIQUE i_idx(id)
DROP INDEX i_idx on tt
alter table t1 drop index `i_d`;
show index from tt // 查看索引

// 创建临时表
create temporary table t2 as (select * from tt)
// 查看表的创建命令
show create table tt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值