数据库学习三

数据类型
TINYINT 有符号值:-128到127
无符号值:0到255
SMALLINT 有符号值:-32768到32767
无符号值:0到65535
MEDIUMINT 有符号值:-838868到8388607
无符号值:0到16777215
INT 有符号值:-2147483648到2147483647
无符号值:0到4294967295
BIGINT 有符号值:-9223372036854775808到9223373036854775807
无符号值:0到18446744073709551615
浮点型:单精度和双精度
单精度:小数点后7位
日期
YEAR 1
TIME 3
DATE 3
DATETIME 8
TIMESTAMP 4
字符型:
CHAR
VARCHAR
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
ENUM
SET
行称之为记录
列称之为字段
打开数据库
USE 数据库名称
SHOW DATABASE

CREATE TABLE 表名(
column_name data_type,
column_name data_type

SHOW TABLES 【FROM db_name】
show columns from tbl_name

insert into tbl_name( 需要赋值的字段) values(字段的值)

auto_increment 自增编号 必须定义为主键
一个表中只有一个主键
primary key 定义主键 主键自动为NOT NULL
有递增编号必须定义为主键 有主键不一定是递增编号
主键具有唯一性
UNIQUE KEY 可以保证唯一性 可以有多个 主键只能有一个
DEFAULT 约束 默认值 当插入没有赋值,则自动赋予默认值
约束:保证数据的完整性和一致性
分为表级约束
列级约束

外键约束 只能使用InnoDB
配置文件
default-storage-engine=INNODB
外键和参照列必须具有相同的数据类型
foreign key (pid) referrnce 表名 (id)

show indexs from 表名 查看索引

cascade: 父表删除子表自动删除
子表中要更改数据 必须遵循父表中的数据
列定义以后才能声明表级约束
添加单列
alter table tbl_name add【column】 col_name
column_definition 【first|after col_name】
添加多列只能添加到表的下面

删除列
alter table tbl_name drop col_name

添加主键约束
alter table tbl_name add constraint symbol
primary key index_type index_col_name
添加唯一约束
alter table tbl_name add unique key index_type index-col_name
添加外键约束
alter table tbl_name add [constraint[symbol]] foreign key [index_type] index_col_name reference_definition
alter rable tbl_name alter col_name {set default litera|drop default}
删除主键约束
alter table tbl_name drop primary key
删除唯一约束
alter table tbl_name drop index_name;
删除外键约束
alter table tbl_name drop foreign key fk_symbol
修改列定义 大数据类型在修改成小数据类型可能造成数据丢失
alter table tbl_name MODIFY col_name
column_definition 【first|aftercol_name】
修改列名称
alter table tbl_name change【column】 old_col_name
new_col_name column_definition 【first|after col_name】
修改表名称
方法一
alter table tbl_name rename【TO|AS】 new_tbl_name
方法二
rename table tbl_name TO new_tbl_name 【tbl-name2 TO new_tbl_namme2】

约束的划分
按功能划分:NOT NULL ,PRIMARY KEY,UNIQUE KEY,DEFAULT,FOREIGN KEY
按数据列的数目划分为:表级约束,列级约束

你可能感兴趣的:(数据库学习三)