数据库操作
--创建数据库
CREATE DATABASE database_name;
--删除数据库
DROP DATABASE database_name;
--选择数据库
use database_name;
--查看数据库的详细信息
SHOW DATABASES;
--创建数据表
CREATE TABLE table_name (column_name column_type,
column_name column_type,
column_name column_type...);
--删除数据表
DROP TABLE tanle_name;
--插入数据
INSERT INTO table_name (value1,value2...);
INSERT INTO table_name (field1,field2...)
VALUES
(value1,value2);
--修改数据
UPDATE table_name SET filed = new_value WHERE caluse;
--查看表结构的详细信息
DESCRIBE table_name;
--查询数据
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][OFFSET M];数据类型
数值类型
| 数据类型 | 大小 |
|---|---|
| TINYINT | 1Byte |
| SMALLINT | 2Byte |
| INT | 4Byte |
| BIGINT | 8Byte |
| FLOAT | 4Byte |
| DOUBLE | 8Byte |
日期/时间类型
| 数据类型 | 格式 |
|---|---|
| DATE | YYYY-MM-DD |
| TIME | HH:MM:SS |
| YEAR | YYYY |
| DATETIME | YYYY-MM-DD HH:MM:SS |
| TIMESTAMP | YYYYMMDD HHMMSS |
字符串类型
| 数据类型 | 大小 |
|---|---|
| CHAR(n) | 固定长度,最多255个字符 |
| VARCHAR(n) | 固定长度,最多65535个字符 |
| TINYTEXT | 可变长度,最多255个字符 |
| TEXT | 可变长度,最多65535个字符 |
约束
约束种类
1. 主键约束 PRIMARY KEY
约束此项的值在表中唯一且非空
2. 自增约束 AUTO_INCRMENT
只有整型列才能设置此属性,且每个表只能定义一个AUTO_INCRMENT列
3. 唯一约束 UNIQUE KEY
保证值唯一,不发生重复
4. 非空约束 NOT NULL
值不允许为空
5.默认约束 DEFAULT
给此项值的默认值
6.外键约束 FOREIGEN KEY REFERENCES
此项值来自另一个表单
联合约束
添加,修改,删除约束
--添加约束 ALTER TABLE table_name ADD (column_name column_type ...); --修改约束 ALTER TABLE table_name MODIFY column_name column_type PRIMARY KEY; --删除约束 ALTER TABLE table_name DROP PRIMARY KEY;
练习
创建学生表练习
CREATE DATABASE test;
USE test;
CREATE TABLE students(
id VARCHAR(20) PRIMARY KEY,
name VARCHAR(20) NOT NULL,
sex CHAR(2) NOT NULL,
birth DATE DEFAULT '2000-01-01',
class VARCHAR(20)
);
CREATE TABLE teachers(
id VARCHAR(20) PRIMARY KEY,
name VARCHAR(20) NOT NULL,
sex CHAR(2) NOT NULL,
birth DATE DEFAULT '1990-01-01',
title varchar(20) DEFAULT '讲师',
department varchar(20) NOT NULL
);
CREATE TABLE courses(
id VARCHAR(20) PRIMARY KEY,
name VARCHAR(20) NOT NULL,
teacher VARCHAR(20) NOT NULL,
FOREIGN KEY(teacher) REFERENCES teachers(id)
);
CREATE TABLE scores(
student_id VARCHAR(20) NOT NULL,
course_id VARCHAR(20) NOT NULL,
score DECIMAL,
PRIMARY KEY(student_id,course_id),
FOREIGN KEY(student_id) REFERENCES students(id),
FOREIGN KEY(course_id) REFERENCES courses(id)
); 
京公网安备 11010502036488号