MySQL的数据结构可以看作是一个层次化的组织方式,从最高的层次到最低的层次分别是:数据库(Database)、表(Table)、记录(Record,也就是数据行)和字段(Field,也就是数据列)。
- 数据库(Database):
- 数据库是最高层次的存储结构,它可以包含多个表、视图、存储过程、触发器等数据库对象。
- 在MySQL中,一个数据库对应一个独立的命名空间,不同的数据库中可以存在同名的表。
- 数据库用于逻辑上组织和管理相关的数据表和其他对象。
- 表(Table):
- 表是数据库中存储数据的具体结构,它由行和列构成。
- 每一列有一个特定的数据范例,定义了该列可以存储的数据种类(如整数、字符串、日期等)。
- 表中的每一行代表一条记录,包含了按列组织的数据。
- 记录(Record)/ 数据行(Row):
- 记录是表中的一行数据,它包含了表中所有列对应的一个值。
- 每条记录通常有一个唯一标识符,称为主键(Primary Key),用于唯一地标识这条记录。
- 字段(Field)/ 数据列(Column):
- 字段是表结构中的一个元素,它定义了数据的范例、约束等信息。
- 表中的每一列对应一个字段,字段名用于标识这一列。
关系:
- 数据库包含表,表是数据库的构成部分。
- 表包含记录,记录是表中的一行数据。
- 每条记录由多个字段构成,字段定义了表中数据的具体结构。
相关语句:
- //创建数据库
- CREATE DATABASE 数据库名;
- //在数据库中创建表
- //mytable是新表的名称,id、name、age和email是表中的字段。
- //id字段是一个自动增长的整数,用作主键。
- //name是一个最大长度为50的字符串,age是一个整数,email是一个唯一且最大长度为100的字符串。
- USE mydatabase;
- CREATE TABLE mytable (
- id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(50) NOT NULL,
- age INT,
- email VARCHAR(100) UNIQUE
- );
- //插入记录
- //在mytable表中插入一条新记录,设置name为'John Doe',age为30,email为'john@example.com'。
- //因为id字段是自动增长的,所以在插入记录时不需要指定id的值
- INSERT INTO mytable (name, age, email) VALUES ('John Doe', 30, 'john@example.com');
- //向已存在的表中添加新字段
- //向mytable表中添加一个新的字段phone,它是一个最大长度为20的字符串。
- ALTER TABLE mytable ADD phone VARCHAR(20);
- //修改字段数据类型
- //把mytable表中的age字段从INT类型修改为TINYINT类型。
- ALTER TABLE mytable MODIFY age TINYINT;
- //修改字段名和/或数据类型
- //把mytable表中的age字段改名为years_old,并且将其数据类型从INT修改为SMALLINT。
- ALTER TABLE mytable CHANGE age years_old SMALLINT;
- //修改字段约束
- //修改email字段的数据类型为VARCHAR(100),并设置它为非空(NOT NULL),同时指定一个默认值('noemail@example.com')。
- ALTER TABLE mytable MODIFY email VARCHAR(100) NOT NULL DEFAULT 'noemail@example.com';
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |