最实用的 SQL 语句收藏,程序员看完这篇就够了! 您所在的位置:网站首页 查看索引是否被使用的sql语句是 最实用的 SQL 语句收藏,程序员看完这篇就够了!

最实用的 SQL 语句收藏,程序员看完这篇就够了!

2023-12-12 12:52| 来源: 网络整理| 查看: 265

前言

文章沿着设计一个假想的应用 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`=1

3.2 修改数据库字符集为 utf8

alter database `awesome_app` default character set utf8

3.3 修改表字符集为 utf8

alter table `users` convert to character set utf8

3.4 修改表字段字符集为 utf8

alter table `users` modify `name` char(10) character set utf8

3.5 修改字段类型

alter table `users` modify `regtime` datetime not null

3.5 修改字段默认值

alter table `users` alter `regtime` set default '2019-10-12 00:00:00' /* 设置默认为当前时间 current_timestamp,需要重新定义整个列 */


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有