最实用的 SQL 语句收藏,程序员看完这篇就够了! | 您所在的位置:网站首页 › 查看索引是否被使用的sql语句是 › 最实用的 SQL 语句收藏,程序员看完这篇就够了! |
前言
文章沿着设计一个假想的应用 awesome_app 为主线,从零创建修改数据库,表格,字段属性,索引,字符集,默认值,自增,增删改查,多表查询,内置函数等实用 SQL 语句。收藏此文,告别零散又低效地搜索经常使用的 SQL 语句。所有 SQL 都在 MySQL 下通过验证,可留着日后回顾参考,也可跟着动手一起做,如果未安装 MySQL 可参考 《macOS 安装 mysql》 (windows 安装大同小异)。 1. 创建1.1 创建数据库 语法:create database db_name 示例:创建应用数据库 awesome_app create database `awesome_app`1.2 创建表格 语法:create table table_name ( … columns ) 示例:创建用户表 users create table `users` ( `id` int, `name` char(10), `avatar` varchar(300), `regtime` date )1.3 创建索引 语法:create index index_name on table_name (column_name) 示例:为用户 id 创建索引 idx_id create index `idx_id` on `users` (`id`) /* 创建唯一索引 */ create unique index `idx_id` on `users` (`id`)1.4 为已存在的列创建主键 更常用的方式是在创建表语句所有列定义的后面添加一行 primary key (column_name)。 语法:alter table table_name add primary key (column_name) 示例:将用户 id 设为主键 alter table users add primary key (`id`)1.5 为已存在的列创建自增约束 更常用的方式是在创建表语句中添加自增列 id int not null auto_increment。 alter table `users` modify `id` int not null auto_increment 2. 插入语法: insert into table_name values (value1, value2, …) insert into table_name (column1, column2, …) values (value1, value2, …)示例:新增注册用户 insert into `users` values (1, 'ken', 'http://cdn.awesome_app.com/path/to/xxx/avatar1.jpg', curdate()) /* 指定列插入 */ insert into `users` (`name`, `avatar`) values ('bill', 'http://cdn.awesome_app.com/path/to/xxx/avatar2.jpg') 3. 修改3.1 修改数据记录 语法: update table_name set column=new_value where condition update table_name set column1=new_value1,column2=new_value2,… wherecondition示例: update `users` set `regtime`=curdate() where `regtime` is null /* 一次修改多列 */ update `users` set `name`='steven',`avatar`='http://cdn.awesome_app.com/path/to/xxx/steven.jpg' where `id`=13.2 修改数据库字符集为 utf8 alter database `awesome_app` default character set utf83.3 修改表字符集为 utf8 alter table `users` convert to character set utf83.4 修改表字段字符集为 utf8 alter table `users` modify `name` char(10) character set utf83.5 修改字段类型 alter table `users` modify `regtime` datetime not null3.5 修改字段默认值 alter table `users` alter `regtime` set default '2019-10-12 00:00:00' /* 设置默认为当前时间 current_timestamp,需要重新定义整个列 */ |
CopyRight 2018-2019 实验室设备网 版权所有 |