mysql创建数据库,数据表,索引

数据库

1.SQL语言分类

DML:添加、修改、删除、查询
DCL:用户、权限、事务
DDL:逻辑库,数据表,视图,索引

2.SQL语句的注释
#这是一段注释文字
/*
这是一段注释
文字
*/
3.创建数据库
show databases;#显示所有数据库
create database demo;#创建名为demo的数据库
drop database demo;#删除名为demo的数据库
4.创建数据表

create table 数据表(
列名1 数据类型 [约束] [comment 注释],
列名2 数据类型 [约束] [comment 注释]
)[comment=注释];

create table student(
	id int UNSIGNED PRIMARY key,
	name VARCHAR(20) NOT NULL,
	sex CHAR(1) NOT NULL,
  birthday DATE NOT NULL,
	tel CHAR(11) NOT NULL,
  remark VARCHAR(200)
);

数据表的其他操作

INSERT INTO student VALUES(1,"李强","男","1995-05-15","17340794738",NULL);

show tables;#查看当前库中所有表

desc student;#查看表结构

drop TABLE student;#删除表
5.数据类型
(1)数字
类型大小说明
TINYINT1字节小整数
SMALLYINT2字节普通整数
MENDIUINT3字节小整数
INT4字节较大整数
BIGINT8字节大整数
FLOAT4字节单精度浮点数
DOUBLE8字节双精度浮点数
DECIMAL------DECIMAL

十进制的浮点数无法在计算机中用二进制精确表达。

(2)字符串
类型大小说明
char1-255字符固定长度字符串
varchar1-65535字符不确定长度字符串
text1-65535字符不确定长度字符串
mediumtext1-1千6百万字符不确定长度字符串
longtext1-42亿字符不确定长度字符串
(3)日期类型
类型大小说明
date3字节日期
time3字节时间
year1字节年份
datetime8字节日期时间
timestamp4字节时间戳
6.数据表修改
(1)添加字段

alter table 表名称
add 列1 数据类型 [约束] [comment 注释],
add 列2 数据类型 [约束] [comment 注释],
…;

ALTER TABLE student
ADD address VARCHAR(200) NOT NULL,
ADD home_tel char(11) NOT NULL;
(2)修改字段类型和约束

alter table 表名称
modify 列1 数据类型 [约束] [comment 注释],
modify 列2 数据类型 [约束] [comment 注释],
…;

ALTER TABLE student
MODIFY home_tel VARCHAR(20) NOT NULL;
(3)修改字段名称

alter table 表名称
change 列1 新列名1 数据类型 [约束] [comment 注释],
change 列2 新列名2 数据类型 [约束] [comment 注释],
…;

ALTER table student
CHANGE address home_address VARCHAR(200) NOT NULL;
(4)删除列
ALTER table student
DROP home_address,
DROP home_tel;
6.字段约束

mysql中的字段约束共有4种:

约束名称关键字描述
主键约束primary key字段值唯一,且不能为null
非空约束not null字段值不能为null (null意味没有值,而不是""空字符串)
唯一约束unique字段值唯一,且可以为null
外键约束foreign key保持关联数据的逻辑性(如果形成外键闭环,将无法删除任何一张表的记录)
7.索引
(1)创建索引

create table 表名称(
…,
index [索引名称] (字段),

);

CREATE TABLE t_message(
	id INT UNSIGNED PRIMARY key,
	content VARCHAR(200) NOT NULL,
	type ENUM("公告","通报","个人通知") NOT NULL,
	CREATE_time TIMESTAMP NOT NULL,
	INDEX idx_type (type)
);
(2)添加与删除索引

create index 索引名称 on 表名(字段);
alter table 表名称 add index [索引名称] (字段);
SHOW INDEX FROM 表名;
drop index 索引名称 on 表名;

DROP INDEX idx_type ON t_message; #删除现有索引

CREATE INDEX idx_type ON t_message(type);

SHOW INDEX FROM t_message;#查询表中所有索引

ALTER TABLE t_message
ADD INDEX idx_type(type);
(3)索引的使用原则
  • 数据量很大,且经常被查询的数据表可以设置索引
  • 索引只添加在经常别用作检索条件的字段上面
  • 不要在大字段上创建索引
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值