MySQL 基础学习总结

数据库操作

--创建数据库
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)
);
全部评论

相关推荐

白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
01-19 15:14
已编辑
延安大学 C++
累死的一条狗:我说白了这种玩意你直接点举报就完事了在给他挂出来
找工作以来,你最看不惯_...
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务