SQL操作数据库
零、Mysql数据库操作
1、连接
mysql -h 服务器地址 -u 用户名 -p 用户密码
2、退出
exit或者quit
一、数据库操作
1、创建:
CREATE DATABASE [IF NOT EXISTS] database_name;
2、删除:
DROP DATABASE [IF EXISTS] database_name;
3、查看:
SHOW DATABASES;
4、选择:
USE database_name
二、数据表操作
1、数据类型
- a、数值类型
- TINYINT:1字节,非常小的整数
- SMALLINT:2字节,较小的整数
- MEDIUMINT:3字节,中等大小的整数
- INT:4字节,标准整数
- BIGINT:8字节,大整数
- FLOAT:4或8字节,单精度浮点数
- DOUBLE:8字节,双精度浮点数
- DECIMAL:自定义,以字符串形式表示的浮点数
- b、字符串类型
- CHAR[(M)]:M字节,定长字符串,最大M字节
- VARCHAR[(M)]:L+1字节,可变字符串,最大M字节
- TINYBLOB,TINYTEXT:L+1字节,非常小的BLOB(二进制大对象)和文本串,2^8 - 1字节
- BLOB,TEXT:L+2字节,小的BLOB和文本串,2^16 - 1字节
- MEDIUMBLOB,MEDIUMTEXT:L+3字节,中等的BLOB和文本串,2^24 - 1字节
- LONGBLOB,LONGTEXT:L+4字节,大的BLOB和文本串,2^32 - 1字节
- ENUM(‘value1’,’value2’,…):1或2字节,枚举:可赋予某个枚举成员,65535个成员
- SET(‘value1’,’value2’,…):1,2,3,4或8字节,集合:可赋予多个集合成员,64个成员
- c、时间日期类型
- DATE:3字节,”YYYY-MM-DD”格式的日期
- TIME:3字节,”hh:mm:ss”格式的时间
- DATETIME:8字节,”YYYY-MM-DD hh:mm:ss”格式的日期时间
- TIMESTAMP:4字节,”YYYYMMDDhhmmss”格式的时间戳
- YEAR:1字节,”YYYY”格式的年份
- d、NULL
2、字段属性
- a、UNSIGNED:无符号数值类型
- b、ZEROFILL:数值之前自动用0补齐不足的尾数
- c、AUTO_INCREMENT:自动增量
- d、NULL和NOT NULL:没有插入值时,默认为NULL,指定NOT NULL,则必须插入值
- e、DEFAULT:指定一个默认值
3、创建
CREATE TABLE [IF NOT EXISTS] table_name(
字段名1 列类型 [属性] [索引],
字段名2 列类型 [属性] [索引],
......,
字段名n 列类型 [属性] [索引]
)[表类型] [表字符集];
4、修改
ALTER TABLE 表名 ADD 字段名 <建表语句> [FIRST|AFTER 列名];
ALTER TABLE 表名 MODIFY 字段名 <建表语句>;
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 <建表语句>;
ALTER TABLE 旧表名 RENAME AS 新表名;
5、删除
DROP TABLE [IF EXISTS] 表名;
6、表类型
CREATE TABLE 表名(字段名 类型) ENGINE=INNODB;
CREATE TABLE 表名(字段名 类型) TYPE=MYISAM;
三、数据操作
1、添加
INSERT INTO 表名 [(字段名1, 字段名2, ... , 字段名n)] VALUE('值1','值2', ... ,'值n');
2、更新
UPDATE 表名
SET 字段名=表达式 [, .....]
[WHERE 条件];
3、删除
DELETE FROM 表名 [WHERE 条件];
4、查询
SELECT [ALL|DISTINCT]
{*|table.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][, ...]]}
FROM tableexpression[,...][IN externaldatabase]
[WHERE ...]
[GROUP BY ...]
[HAVING ...]
[ORDER BY ...]
[LIMIT count ];