本文共 2197 字,大约阅读时间需要 7 分钟。
在《MySQL 技术内幕》中,对数据库表的结构设计有详细阐述。本文将重点分析成员表的创建过程及其相关特性。
mysql> create table member ( -> member_id int unsigned not null auto_increment, -> last_name varchar(20) not null, -> first_name varchar(20) not null, -> suffix varchar(5) null, -> expiration date null, -> email varchar(100) null, -> street varchar(50) null, -> city varchar(50) null, -> state varchar(2) null, -> zip varchar(10) null, -> phone varchar(20) null, -> interests varchar(255) null -> ) engine = innodb;
通过使用 DESC
命令查看表结构:
mysql> DESC member;
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
member_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
last_name | varchar(20) | NO | NULL | ||
first_name | varchar(20) | NO | NULL | ||
suffix | varchar(5) | YES | NULL | ||
expiration | date | YES | NULL | ||
varchar(100) | YES | NULL | |||
street | varchar(50) | YES | NULL | ||
city | varchar(50) | YES | NULL | ||
state | varchar(2) | YES | NULL | ||
zip | varchar(10) | YES | NULL | ||
phone | varchar(20) | YES | NULL | ||
interests | varchar(255) | YES | NULL |
插入数据时,需注意字段顺序与定义一致:
mysql> INSERT INTO student (name, sex) VALUES ('Abby', 'F'), ('Joseph', 'M');
支持批量插入:
mysql> INSERT INTO student (name, sex) VALUES ('Abby', 'F'), ('Joseph', 'M');
mysql> SELECT 2 + 2, 'Hello, World!', VERSION();
mysql> SELECT name, student_id FROM student ORDER BY name;
mysql> SELECT concat(first_name, ' ', last_name) as name, concat(city, ' ', state) as birthplace FROM president;
mysql> SELECT date_add('2023-10-01', 1) as future_date, date_sub('2023-10-01', 1) as past_date;
mysql> SET @variable = 'Hello World';
mysql> DELETE FROM president WHERE state = 'OH';
mysql> UPDATE mysql.user SET password = '123' WHERE user = 'root';
mysql> SHOW CREATE TABLE president;
mysql> FLUSH PRIVILEGES;
通过以上优化,文章结构更加清晰,内容更加专业,适合技术读者阅读。同时,语言风格更加简洁,符合技术文档的写作习惯。
转载地址:http://uhbfk.baihongyu.com/