MySQL 常用语法

表结构相关语法:

1. 创建表,并设置编码格式

CREATE TABLE action(
    id INT(11) PRIMARY KEY,#action id
    plan_id INT(11),#计划id
    plan_config_id INT(11),#计划配置id
    version INT(3),#版本
    status INT(1),
    planItemId VARCHAR(20)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='action表';

2. 修改表结构,添加一个字段

ALTER TABLE image_content ADD COLUMN imageId VARCHAR(32);

2-1. 修改表结构,添加一个字段并指定默认值

ALTER TABLE image_content ADD COLUMN deleteStatus INT(1) DEFAULT 0;

3. 修改表结构,删除一个字段

ALTER TABLE image_content DROP COLUMN finishStatus;

4. 修改表结构,添加表的主键

ALTER TABLE task ADD PRIMARY KEY(item_id);

5. 修改表结构,删除表的主键

ALTER TABLE task DROP PRIMARY key;

6. 修改表结构,修改表字段的类型或长度

ALTER TABLE questionNaire_info MODIFY COLUMN name VARCHAR(100);

7. 修改表结构,修改表中多个字段的类型或长度

ALTER TABLE question MODIFY COLUMN id INT(11),MODIFY COLUMN questionNaire_id INT(11), MODIFY COLUMN sceneId INT(11);

函数的使用:

1. 查找字段包含某个字符串

SELECT * FROM t_scene WHERE remark LIKE '%测试%';

2. 修改时间字段为当前时间,使用 now() 函数

UPDATE table1 SET visible_date=NOW(),executable_date=NOW() WHERE plan_id=?;

3. 获取条件查询结果的数量,使用 count() 函数

SELECT COUNT(*) FROM table1 WHERE name='测试';

4. 获取以指定字符开头的数据

SELECT * FROM mobile WHERE system_version REGEXP '^8.0|^6.0|^10';

该 SQL 表示,获取系统版本以 8.0 或 6.0 或 10 开头的数据。

随机查询的高效写法:

1. 随机查询数据库里面的一条记录,高效写法

SELECT * FROM table1 WHERE id >= 
((SELECT MAX(id) FROM table1 )
-(SELECT MIN(id) FROM table1 )) * RAND() + 
(SELECT MIN(id) FROM table1 ) LIMIT 1;

你可能感兴趣的:(MySQL 常用语法)