SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。我们在刚刚接触SQL的时候,对一些复杂的SQL语句很是疑惑,可以先由简入繁,了解一些基础的SQL语句。下面是常见的一些比较基础实用的SQL语句,我们从4个大的方面来介绍。
(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
语法:
示例:新增注册用户
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')
(1) 修改数据记录
语法:
示例:
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
(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语句。
提枪策马乘胜追击04-21 20:01
代码小兵92504-17 16:07
代码小兵98804-25 13:57
杨晶珍05-11 14:54