MySql常用数据类型与操作详解
数据类型
数值类型
MySQL中常见的数值类型有TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE等。具体特点如下:
- TINYINT:有符号范围为-128~127,无符号范围为0~255。
- SMALLINT:有符号范围为-32768~32767,无符号范围为0~65535。
- MEDIUMINT:有符号范围为-8388608~8388607,无符号范围为0~16777215。
- INT:有符号范围为-2147483648~2147483647,无符号范围为0~4294967295。
- BIGINT:有符号范围为-9223372036854775808~9223372036854775807,无符号范围为0~18446744073709551615。
- FLOAT:单精度浮点数,范围为-3.4028235E+38~3.4028235E+38。
- DOUBLE:双精度浮点数,范围为-1.7976931348623157E+308~1.7976931348623157E+308。
字符串类型
MySQL中常见的字符串类型有CHAR、VARCHAR、TEXT、BLOB等。具体特点如下:
- CHAR:定长字符串,长度为0~255个字符。
- VARCHAR:变长字符串,长度为0~65535个字符。
- TEXT:长文本字符串,可以存储最多65535个字符。
- BLOB:二进制数据,可以存储最多65535个字节。
日期时间类型
MySQL中常见的日期时间类型有DATE、TIME、DATETIME、TIMESTAMP等。具体特点如下:
- DATE:日期类型,格式为YYYY-MM-DD,可以存储从1000-01-01到9999-12-31的日期。
- TIME:时间类型,格式为HH:MM:SS,可以存储从'-838:59:59'到'838:59:59'的时间。
- DATETIME:日期时间类型,格式为YYYY-MM-DD HH:MM:SS,可以存储从1000-01-01 00:00:00到9999-12-31 23:59:59的日期时间。
- TIMESTAMP:时间戳类型,存储从1970-01-01 00:00:01到2038年的秒数。
操作
创建表
创建表可以使用CREATE语句,具体语法如下:
CREATE TABLE `表名` (
`列名1` 约束1,
`列名2` 约束2,
...
`列名n` 约束n
);
其中,约束可以是数据类型、主键、唯一、非空等约束。
例如,创建一个用户表:
CREATE TABLE `users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(100) NOT NULL,
`password` VARCHAR(100) NOT NULL,
`email` VARCHAR(100),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
插入数据
插入数据可以使用INSERT语句,具体语法如下:
INSERT INTO `表名` (`列名1`, `列名2`, ..., `列名n`) VALUES (`值1`, `值2`, ..., `值n`);
例如,插入一条用户数据:
INSERT INTO `users` (`username`, `password`, `email`) VALUES ('testuser', 'testpass', 'testuser@example.com');
查询数据
查询数据可以使用SELECT语句,具体语法如下:
SELECT `列名1`, `列名2`, ..., `列名n` FROM `表名` WHERE `条件`;
例如,查询用户数据:
SELECT `username`, `email`, `created_at` FROM `users` WHERE `id` = 1;
示例说明
下面是一个完整示例,创建一个学生信息表,并插入一条学生数据:
CREATE TABLE `students` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(100) NOT NULL,
`age` INT UNSIGNED NOT NULL,
`gender` ENUM('男', '女', '不详') NOT NULL,
`address` TEXT,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
INSERT INTO `students` (`name`, `age`, `gender`, `address`) VALUES ('张三', 18, '男', '北京市朝阳区');
另外一个示例,查询学生数据:
SELECT `name`, `age`, `gender`, `address`, `created_at` FROM `students` WHERE `id` = 1;
以上就是MySQL常用数据类型与操作的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySql常用数据类型与操作详解 - Python技术站