3.22数据库基础知识:①数据类型②基本规则③数据库基本操作,增删改库,表
数据库:①数据类型②基本规则③数据库基本操作,增删改库,表
DATABASE 数据库
Relational Database 关系型数据库
column 列 row行
Primary Key 主键 Foreign Key 外键
DBMS 数据库管理系统 Database Management System
RDBNS 关系型数据库管理系统
SQL Structured Query Language 结构化查询语言
SQL 分为:DDL DQL DML DCL
一、数据类型:
1、整数型:INT BIGINT
2、浮点型:float double decimal(M,N)总长度,小数位数
3、字符串:char varchar
char可用作布尔类型,yes/no true/false 1/0等等都可以直接用char表示
varchar(16)16个字符 可以表示长一点的,不超过8KB;
4、时间类型:date datetime
二、基本规则:
数据库名:小写,不能有中文
`变量名` 用``扩起来的,避免关键字,比如name
表名,变量名不区分大小写
主类不能直接删,因为从表有引用指向它,除非没有从表的引用指向它,所以说有关联删不了
SQLyog里边单行注释-- 多行注释/**/
SQLyog里边选中某一段运行可以单独运行那一段
三、数据库基本操作:增删改库,表
-- 创建库
CREATE DATABASE database_demo;
-- 链接库
USE database_demo;
-- 删除库
DROP DATABASE database_demo;
-- 创建表
id用integer比bigint好,对Java的兼容性好,出错率小
最后设置默认编码为utf8
每个后边都可以加默认值
CREATE TABLE student(
id INTEGER PRIMARY KEY NOT NULL,
NAME VARCHAR(100) DEFAULT '张三',
age INT
)CHARSET=utf8;
-- 删除表
DROP TABLE student;
-- 复制表
-- 只复制结构:
CREATE TABLE student1 SELECT *student1 FROM student WHERE 1 = 0;
-- WHERE 写永远不成立的条件;
-- 能复制数据,但不能复制约束
CREATE TABLE student1 SELECT *student1 FROM student;
-- 添加列
ALTER TABLE student ADD address VARCHAR(100) DEFAULT '成都';
-- 修改列
ALTER TABLE student CHANGE address address VARCHAR(100) DEFAULT '四川';
-- 删除列
ALTER TABLE student DROP COLUMN address;
创建索引的好处,当数据大的时候查询较快,提高效率
-- 创建索引
CREATE INDEX name_index ON student(NAME,age);
-- 删除索引
ALTER TABLE student DROP INDEX name_index;