时间:2021-07-01 10:21:17 帮助过:40人阅读
mysql> create table tt14(
-> id int unsigned,
-> course char(10) comment ‘课程代码‘,
-> score tinyint unsigned default 60 comment ‘成绩‘,
-> primary key(id, course) -- id和course为复合主键
单行主键:后面直接跟primary key
mysql> create table tt13 (
-> id int unsigned primary key comment ‘学号不能为空‘,
-> name varchar(20) not null);
Query OK, 0 rows affected (0.00 sec)
也可以后续添加主键
create table user3(
id int,
name varchar(30)); -- 创建表以后再添加主键
alter table user3 add primary key(id);
唯一键具有唯一性且没有默认的非空约束。
外键用于定义主表和从表之间的关系:外键约束主要定义在从表上,主表则必须是有主键约束或unique约束。当 定义外键后,要求外键列数据必须在主表的主键列存在或为null。
增加:alter
更改:updata table_name set column
查询
distinct:去重
limit 数字:表示只显示多少行。
用法:select *from 文件名 limit 数字
eg:select *from egret limit 4,3;
相当于select *from egret limit 3 offset 4;
插入查询结果insert
union 默认查重,union all不查重。
左外链接会保证左表的完整性,若无对应信息则表示为空。
索引:快速查询,但同时增加了修改,增添的成本。
常见索引:唯一键,主键。
delimiter:作用设置结束符,一般默认结束符为;
一个索引能不能解决所有查询问题。
有主键,主键就是索引;而唯一键的索引需要自己添加,即index
全文索引的创建:
mysql> explain select * from articles where body like ‘%database%‘\G
//like 后面的表示跟database有关的所有条目
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: articles
type: ALL possible_keys: NULL
key: NULL <== key为null表示没有用到索引
key_len: NULL
ref: NULL
rows: 6
Extra: Using where 1 row in set (0.00 sec)
索引的创建原则:
数据库基本操作
标签:增加 显示 从表 去重 有用 创建索引 name 更新 命令