数据库和表的基本操作
1.创建和查看数据库
--创建数据以dataname为名的数据库
CREATE DATABASE dataname;
--查看当前所有的数据库
SHOW DATABASES;
--查看以dataname为名的数据的信息
SHOW CREATE DATABASE dataname;
2.修改数据库和删除数据库
--修改数据库的编码方式
ALTER DATABASE dataname DEFAULT CHARACTER 编码方式 COLLATE 编码方式_bin;
--删除数据库
DROP DATABASE dataname;
3.数据库的数据类型
int 整数型【4】
bigint 长整型【8】
float 浮点型【4】
char 定长字符串【必须设置长度】
varchar 不定长字符串【必须设置长度】
date 日期类型
BLOB 二进制大对象【存储图片,视频等流媒体信息】
CLOB 字符大对象【存储较大文本】
4.数据库下表的创建
--语法格式
CREATE TABLE table_name(
column_name date_tape limit_tape,
column_nmae data_tape limit_tape
);
5.查看数据表
--语法格式
SHOW CREATE TABLE table_nmae;
--较为美观的查看加\G:
SHOW CREATE TABLE table1_name\G;
--查看数据表中字段的信息
DESC table1_name;
6.修改数据表
1.修改表名
ALTER TABLE past_table_name RENAME new_table_name;
2.修改字段名
ALTER TABLE table1_name CHANGE past_column_name new_table_name new_data_type;
3.修改字段的数据类型
ALTER TABLE table1_name MODIFY colum_name data_type;
4.添加字段或删除字段
ALTER TABLE table1_name ADD new_column_name new_column_type limt_type;
ALTER TABLE table1_name DROP colomn_name;
7.表的约束
约束条件 | 说明 |
---|---|
PRIMARY KEY | 主键约束,这行记录在是张表的唯一标识 |
FOREIGN KEY | 外键约束 |
NOT NULL | 非空约束 |
UNIQUE | 唯一性约束 |
DEFAULT | 默认值约束 |
7.1单字段主键
--字段值【主键值】不能为NULL,也不能重复
--推荐添加自然主键,与业务完全无关的字段,人为的添加业务外的字段
colum_name data_type PRIMARY KEY
7.2多字段主键
colum_name1 data_type,
colum_name2 data_type,
PRIMARY KEY(colum_name1,colum_name2)
7.3非空约束
colum_name data_type NOT NULL
7.4唯一约束
colum_name date_type UNIQUE
7.5默认约束
colum_name data_type DEFAULT default_data
7.6字段值自动增加
colum_name data_type AUTO_INCREMENT
7.7外键约束
业务背景:
给东职两个班级建表,需要有名字,和班级,班级编号
第一种方式:
no(pk) | name | classno | classname |
---|---|---|---|
1 | zs | 101 | yjs |
2 | ls | 101 | yjs |
3 | ww | 102 | jy |
4 | zl | 102 | jy |
5 | tq | 102 | jy |
第二种方式:
t_class
cno | cname |
---|---|
101 | yjs |
102 | jy |
t_stuents
sno(pk) | sname | cno(fk) |
---|---|---|
1 | zs | 101 |
2 | ls | 101 |
3 | ww | 102 |
4 | zl | 102 |
5 | tq | 102 |
外键的注意事项:
1.外键值可以为null 2.外键所连接的主键必须有唯一约束属性 3.一对多两张表多的表加外键
添加、更新、删除数据
1.添加数据
INSERT INTO table1_name[(colum_name1,colum_name2,...)]
values(colum_data1,colum_data2,...);
2.更新数据
UPDATE table1_name set colum_name = new_data ... where colum_name = past_data;
3.删除数据
DELETE FROM table1_name [WHERE colum_name = date];
TRUNCATE TABLE table1_name; //删除表里的所有数据
DROP TABLE table1_name; //删除表