创建缘由就不详细说明了,直奔主题。
记录下需要了解的命令。
首先要了解概念:
MariaDB是基于mysql的,所以命令通用语mysql。
流程大致如下:
如图
登录数据库后,可以用SHOW DATABASES; 查询数据库[1,2,3]
可以使用use 数据库1;进入该数据库
show tables; #查询该数据所有表。
select * from 表名 #查询表中所有数据
命令行快捷键编辑
Ctrl+a: 快速移动光标至行首
Ctrl+e: 快速移动光标至行尾
Ctrl+w: 删除光标之前的单词
Ctrl+u: 删除行首至光标处的所有内容
Ctrl+y: 粘贴使用Ctrl+w或Ctrl+u删除的内容
讲了太多废话,咱们开始吧!
创建名字为:rexhome的数据库
现在我们已经知道了下面两天命令了:
CREATE DATABASE 数据库名
DROP DATABASE 数据库名
选项 说明
AUTO_INCREMENT 定义自增序列
varchar(#) 定义可变长字符
char(#) 定义字符长,占用量固定
DEFAULT ‘默认值’ 定义列的默认值
INDEX 定义索引
[NOT]NULL 允许/禁止NULL值
PRIMARY KEY 定义列主键
UNIQUE 定义唯一性
CHECK 定义可以输入值的范围/选项
1、最简单的:
CREATE TABLE t1(
id int not null,
name char(20)
);
2、带主键的:
a:
CREATE TABLE t1(
id int not null primary key,
name char(20)
);
b:复合主键
CREATE TABLE t1(
id int not null,
name char(20),
primary key (id,name)
);
3、带默认值的:
CREATE TABLE t1(
id int not null default 0 primary key,
name char(20) default '1'
);
CREATE TABLE MYHOME (
id int not null default 1,
name varchar(20) not null,
sex char(50)
);
DESC MYHOME; #查询该表
CREATE TABLE `test`.`table1` (
##于test数据库中创建table1表
`id` INT(3) NOT NULL ,
#行1 为id 整型(3个字符),not null 非空
`name` VARCHAR(20) NOT NULL ,
#行2为name varchar可变长字符(20个) 非空
`sex` SET('man','women') NOT NULL ,
#行3为sex,set(‘man’,‘women')只允许添加这两种文本
PRIMARY KEY (`id`),
#主键为id行
INDEX `name` (`name`)
#索引为name行
) ENGINE = InnoDB;
#存储引起为innodb
这是从phpmyadmin建立的表数据,咱们可以按照命令来学习对面mysql语句,这里补充点常用的。
插入数据
INSERT INTO `test`.`table1` (`id`, `name`, `sex`) VALUES ('1', 'rex', 'man');
##于test数据库的table1表中对应(id、name、sex)的值(1、rex、man)
SELECT * FROM `table1` WHERE `id` = 1
##于table1表中所有类型查询id号为1的数据
ALTER TABLE `table1` DROP PRIMARY KEY, ADD PRIMARY KEY(`sex`);
##删除table1主机,并更新sex字段为新主键
INSERT INTO `test`.`table1` (`id`, `name`, `sex`) VALUES (ASCII('2'), ASCII('111'), 'women');
##于test数据库的插入id,name,sex对应数据(ASCII类型为2,1,11,women)
UPDATE `test`.`table1` SET `id` = '1' WHERE `table1`.`sex` = 'women';
##于test数据库查找table1表中,sex为women的行,并将id更新为1
DELETE FROM `test`.`table1` WHERE `table1`.`sex` = \'man\'
##于test数据库的table1表中,删除sex=man的行(注意,因为sex字段为主键,固删除行会按照主键来查找删除的)
主键是唯一索引的一种,一个表只能有一个主键,但可以有多个唯一索引。唯一索引很好理解,就是唯一性嘛,可以通过×××查找到你,那×××就是主键。
但除了×××可以找到你,还可以通过你公司的哪个部门的哪个工号找到你,这个就是唯一索引。
唯一索引内容是不可重复的,我的年龄,和你的年龄。
一般索引就是没有限制条件,但对于大数据查询时很有帮助。
比如你查11月份你的信用卡消费记录,银行的数据库里有几千万条记录,如果不建索引可能查询一下就花1,2分钟,效率太慢,建了索引数据库根据索引查效率会提高很多,0.几毫秒就能查出来。
外键呢,其实用的不多,就是两个表中的某些字段的关联关系、