MYSQL入门

1. 配置mysql

修改mysql客户端的字符集编码set character_set_client=
后使用\s查看,得到Client character = gbk

2. 数据库和表的基本操作

创建数据库CREATE DATABASE itcast,使用SHOW DATABASES查看已存在数据库。
使用SHOW CREATE DATABASE itcast查看数据库的信息
删除数据库DROP DATABASE itcast
创建数据表:

CREATE DATABASE itcast;
USE itcast;
CREATE TABLE tb_grade
(
    id int(11),
    name varchar(20),
    grade float
);

使用show tables显示所有表
使用show create table tb_grade查看数据表
使用describe tb_grade查看数据表

2.1修改数据表

使用alter table tb_grade rename grade修改数据表名
使用alter table grade name change username varchar(20)更改字段名称
使用alter table grade modify id int(16)修改数据类型
使用alter table grade add age int(10)添加字段
使用alter table grade drop age删除字段
使用alter table grade modify username varchar(20) first修改顺序
使用alter table grade modify id int(20) after grade修改顺序
删除无关连数据表drop table grade

2.2表的约束
2.2.1主键约束

单字段主键

create table ex1(
    id int primary key,
    name varchar(10),
    grade float
    );

多字段主键

create table ex2(
    id int,
    crouse_id int,
    class varchar(10),
    primary key(id,crouse_id)
    );
2.2.2非空约束

使用not null来定义,例如:

 create table ex1(
     id int primary key,
     name varchar(10) not null);
2.2.3唯一约束

数据表中字段的唯一性,即表中的字段值不能出现重复。使用nuique

2.2.4默认约束

使用默认值,当新插入的数据没有次字段的值时,就显示为默认值。使用default

2.3使用自动增加值

使用auto_increment实现自动增加值,默认从1开始。

3. 数据库的索引

创建数据库的索引,提高查询速度,就像新华字典的a-z索引一样,不用再低效率的按照顺序去遍历。主要索引有一下几种:

3.1 创建普通索引
create table ex1(
id int,
name varchar(20),
score float,
index(id)
);

使用explain查看索引是否已使用

explain select * from ex1 where id=1

显示结果如下,其中key,possiable_key均为id,说明索引已经存在并开始使用。
这里写图片描述

3.2 唯一性索引
create table ex2(
in int,
name varchar(20),
score float,
unique index unique_id(id asc)
);

使用唯一索引,创建名称为unique_id的索引,并且以升序排列。

3.3 全文索引

只能创建在char,varchar或者text类型的字段上,myisam储存引擎支持全文索引。

create table ex3(
id int,
name varchar(20) not null,
score float,
fulltext index fulltext_name(name)
)engine=myisam;
3.4 单列索引

单列索引指的是在表中单个字段上创建索引,它可以是普通索引,唯一索引或者全文索引,需要保证该索引对应一个字段即可。

create table ex4(
id int,
name varchar(20) not null,
score float,
index single_name(name(20))
);
3.5 创建多列索引

只有在查询时使用了索引中的第一个字段时,多列索引才会被使用。

create table ex5(
id int,
name varchar(20) not null,
score float,
index multi(id,name(20))
);

4 已存在表上添加索引

还可以使用alter table [表名] add index [字段名]添加索引
首先新建一个表

create table book(
bookid int not null,
bookname varchar(255) not null,
authors varchar(255) not null,
info varchar(255) not null,
comment varchar(255) not null,
publicyear year not null
);
4.1 普通索引

创建索引名为index_id 的普通索引

create index index_id on book(bookid);
4.2 唯一索引
create unique index on book(bookid);
4.3 创建单列索引
create index on book(comment);
4.4 创建多列索引
create index on book(authors(20),info(20));

5. 删除索引

使用alter table ex1 drop index id;
或使用drop index unique_id on ex2;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值