动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

基础实用的SQL语句集锦

06-07 15:19 877浏览
举报 T字号
  • 大字
  • 中字
  • 小字

SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。我们在刚刚接触SQL的时候,对一些复杂的SQL语句很是疑惑,可以先由简入繁,了解一些基础的SQL语句。下面是常见的一些比较基础实用的SQL语句,我们从4个大的方面来介绍。

1. 创建

(1)创建数据库

语法:create database db_name

示例:创建应用数据库 awesome_app

create database `awesome_app`

(2)创建表格

语法:create table table_name ( ... columns )

示例:创建用户表 users

create table `users`
(
    `id` int,
    `name` char(10),
    `avatar` varchar(300),
    `regtime` date
)

(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`)

(4)为已存在的列创建主键

更常用的方式是在创建表语句所有列定义的后面添加一行 primary key (column_name)。

语法:alter table table_name add primary key (column_name)

示例:将用户 id 设为主键

alter table users add primary key (`id`)

(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. 修改

(1) 修改数据记录

语法:

  • update table_name set column=new_value where condition
  • update table_name set column1=new_value1,column2=new_value2,... where condition

示例:

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

(2)修改数据库字符集为 utf8

alter database `awesome_app` default character set utf8

(3)修改表字符集为 utf8

alter table `users` convert to character set utf8

(4) 修改表字段字符集为 utf8

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

(5)修改字段类型

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

(6)修改字段默认值

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

4. 删除

(1)删除数据记录

语法:delete from table_name where condition

(2)删除数据库

drop database if exists `awesome_app`

(3)删除表

drop table if exists `users`

(4)清空表中所有数据

这个操作相当于先 drop table 再 create table ,因此需要有 drop 权限。

truncate table `users`

(5)删除索引

drop index `idx_id` on `users`

我们也可以到动力节点在线的视频课程中学习更多的SQL语句。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵696
程序员代码小兵696

118篇文章贡献392976字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消