### MySQL数据库入门知识点详解####一、SQL语言概述SQL (Structured Query Language)是一种用于管理和处理关系型数据库的标准语言。它分为四个主要部分: 1. **数据定义语言(DDL)** - `CREATE`:创建数据库或数据表。 - `ALTER`:修改表的结构。 - `DROP`:删除数据库或表。 2. **数据操作语言(DML)** - `INSERT`:向表中插入数据。 - `UPDATE`:更新表中的数据。 - `DELETE`:从表中删除数据。 3. **数据查询语言(DQL)** - `SELECT`:查询数据。 4. **数据控制语言(DCL)** -控制对数据库的访问权限。 ####二、数据库管理命令- **启动MySQL数据库**:`net start mysql` - **停止MySQL数据库**:`net stop mysql` - **登录MySQL**:`mysql –h localhost –u root –p`(本地登录:`mysql –u root –p`密码后无空格) - **查看数据库信息**:`s` - **切换数据库**:`u`或`utest` - **重新配置MySQL** - `set character_set_client = gbk;` -修改`my.ini`配置文件####三、创建和管理数据库- **创建数据库**:`CREATE DATABASE itcast;` - **查询所有数据库**:`SHOW DATABASES;` - **查看创建好的数据库信息**:`SHOW CREATE DATABASE itcast;` - **修改数据库**:`ALTER DATABASE数据库名称DEFAULT CHARACTER SET编码方式COLLATE编码方式_bin;` -示例:`ALTER DATABASE itcast DEFAULT CHARACTER SET gbk COLLATE gbk_bin;` - **删除数据库**:`DROP DATABASE数据库名称;` ####四、数据类型MySQL支持多种数据类型,包括但不限于: - **整数类型**:`TINYINT`、`SMALLINT`、`MEDIUMINT`、`BIGINT` - **浮点数和定点数类型**:`FLOAT`、`DOUBLE`、`DECIMAL(M,D)`(其中`M`表示数据总长度,`D`表示小数点后位数) - **日期和时间类型**:`YEAR`、`DATE`、`TIME`、`DATETIME`、`TIMESTAMP`(简化输入时,1~69对应2001~2069,70~99对应1970~1999) - **字符串和二进制类型**:`CHAR`、`VARCHAR`(可变长度字符串)、`BINARY`、`VARBINARY`(可变长度二进制数据)、`BLOB`(二进制大数据)、`TEXT`(大文本数据)、`ENUM`、`SET`(字符串对象)、`BIT`(字段类型) ####五、创建数据表-创建数据库:`CREATE DATABASE itcast;` -使用数据库:`USE itcast;` -创建数据表:`CREATE TABLE tb_grade (id INT(11), name VARCHAR(20), grade FLOAT);` -查看数据表:`SHOW TABLES;` -查看数据表(建表语句):`SHOW CREATE TABLE tb_grade;`(使用`G`更整洁:`SHOW CREATE TABLE tb_grade G;`) -查看数据表(表格形式):`DESC tb_grade;`(`DESCRIBE tb_grade;`) ####六、修改数据表- **重命名表**:`ALTER TABLE旧的表名RENAME TO新的表名;` - **修改字段名**:`ALTER TABLE表名CHANGE旧的字段名新数据类型;` - **修改字段的数据类型**:`ALTER TABLE表名MODIFY字段名新数据类型;` - **添加字段**:`ALTER TABLE表名ADD字段名新数据类型[约束条件] [AFTER已存在的字段名];` - **删除字段**:`ALTER TABLE表名DROP字段名;` - **修改字段的排列位置**:`ALTER TABLE表名MODIFY字段名1新数据类型FIRST | AFTER字段名2;` ####七、表的约束- **主键约束(PRIMARY KEY)**:用于唯一标识表中的每一条记录。 -单字段主键:`CREATE TABLE example1 (id INT PRIMARY KEY, name VARCHAR(20), grade FLOAT);` -多字段主键:`CREATE TABLE example2 (stu_id INT, course_id INT, grade FLOAT, PRIMARY KEY (stu_id, course_id));` - **外键约束(FOREIGN KEY)**:未在示例中具体提及,用于建立表之间的关系。 - **非空约束(NOT NULL)**:确保字段不能为空。 - **唯一约束(UNIQUE)**:确保字段值的唯一性。 - **默认值约束(DEFAULT)**:用于设置字段的默认值。以上是MySQL数据库入门知识点的详细总结,涵盖了基本的SQL语言、数据库管理命令、数据类型的介绍、创建及管理数据表等方面。对于初学者来说,掌握这些基础内容是十分重要的。