数据库操作
--创建数据库 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) );