SQL之数据定义、数据操纵
根据SQL的功能(数据定义、数据操纵、数据查询、数据控制)给大家依次例举了一些SQL的常用语法格式以及实例,希望能对各位初识SQL的伙伴一些帮助。由于篇幅原因,本文只介绍数据定义与数据操纵部分。
数据定义:
用于定义数据库、基本表等机构,基本命令包括:create、drop、alter。
先讲一下命令的用法:
命令 | 功能 |
---|---|
create database 库名 | 创建数据库 |
create table 表名 (列名1 类型1 [约束列1], 列名2 类型2 [约束列2], …) |
创建数据表 |
drop table 表名 | 删除表 |
alter table 表名 修改内容 | 修改表结构(alter后面可以接的命令直接在实例里举出) |
实例1:
创建数据库与基本表
建立“Practice”数据库,建立“student”数据表(结构如下):
id | name | age | sex |
---|---|---|---|
int(5) | char(5) | int(3) | char(2) |
主键 | 非空 |
create database practice; -- 创建数据库use practice; -- 选择要操作的数据库create table student (id int(5) primary key,name char(5) not null,age char(3),sex char(2)); -- 创建表
desc student; -- 查看数据表结构/***注意每条SQL语句的结尾要加分号,在SQL里面分号是一条语句结束的标志***/
逐条运行的结果是这样的:
mysql> create database practice; -- 创建数据库
Query OK, 1 row affected (0.01 sec)mysql> use practice; -- 选择要操作的数据库
Database changed
mysql> create table student (id int(5) primary key,-> name char(5) not null,-> age char(3),sex char(2)); -- 创建表
Query OK, 0 rows affected (0.34 sec)mysql> desc student; -- 查看数据表结构
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(5) | NO | PRI | NULL | |
| name | char(5) | NO | | NULL | |
| age | char(3) | YES | | NULL | |
| sex | char(2) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
4 rows in set (0.01 sec)
drop table 删除表,直接用就可以了,没有那么多弯弯绕绕的,简单易懂,所以就略过了。但是值得注意的是drop与delete的区别,drop是删除表,delete是删除表中的记录。其语法格式在之后的数据操纵中再向大家讲明。
alter table 用于对表的结构进行修改,可以添加、删除字段:
添加字段:
alter table student add address char(50); -- 添加地址字段
alter table student drop sex; -- 删除性别字段
结果是这样的:
mysql> desc student;
+---------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| id | int(5) | NO | PRI | NULL | |
| name | char(5) | NO | | NULL | |
| age | char(3) | YES | | NULL | |
| address | char(50) | YES | | NULL | |
+---------+----------+------+-----+---------+-------+
当然alter还可以对字段的数据类型等进行设置,感兴趣的朋友可以自己再去了解一下。
数据操纵:
数据操纵可以分为数据查询和数据跟新两类,数据更新又分为插入、删除和修改,基本命令如下:
命令 | 功能 |
---|---|
insert into 表名(字段1,字段2, …) values (值1,值2,…) | 插入记录 |
update 表名 set 列名 = 新值 where 列名 = 某值 | 跟新符合条件的记录 |
delete from 表名 where 列名 = 值 | 删除符合条件的记录 |
insert 用于向表中插入记录,可以直接插入,也可以插入到指定列,两者的写法稍有不同,会在实例中给出。还有值得注意的是delete与drop的区别,上文中也有提到,delete的操作对象是表中的记录,而drop的操作对象是表结构。
实例2:
插入、跟新、删除表中的记录
向“student”表中插入一条、多条记录,跟新记录属性,删除记录
INSERT INTO student(id,NAME,age,address) VALUES(1,'李涵','15',''); -- 插入单条记录INSERT INTO student(id,NAME,age,address) VALUES(2,'张涵','20',''),(3,'王珂','21','上海'),(4,'彭军','20','北京'); -- 插入多条记录UPDATE student SET age='25' WHERE NAME='彭军'; -- 跟新记录(将彭军的年龄改为25)DELETE FROM student WHERE NAME='王珂'; -- 删除记录
结果如下:
mysql> insert into student(id,name,age,address) values(1,'李涵','15','');
Query OK, 1 row affected (0.14 sec)mysql> insert into student(id,name,age,address) values(2,'张涵','20',''),(3,'王珂','21','上海'),(4,'彭军','20','北京');
Query OK, 3 rows affected (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 0mysql> UPDATE student SET age='25' WHERE NAME='彭军';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> UPDATE student SET age='25' WHERE NAME='彭军'; -- 跟新记录(将彭军的年龄改为25)
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0mysql> DELETE FROM student WHERE NAME='王珂'; -- 删除记录
Query OK, 1 row affected (0.11 sec)mysql> select * from student;
+----+--------+------+---------+
| id | name | age | address |
+----+--------+------+---------+
| 1 | 李涵 | 15 | |
| 2 | 张涵 | 20 | |
| 4 | 彭军 | 25 | 北京 |
+----+--------+------+---------+
3 rows in set (0.00 sec)
SQL之数据定义、数据操纵相关推荐
- mysql对所有列的数据进行修改6_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (3)...
添加和删除列 使用ADD向表中添加新列,使用DROP删除现有列.DROP col_name是对标准SQL的MySQL扩展. 若要在表行的特定位置添加列,请使用FIRST col_name 或者 AFT ...
- SQL的数据定义功能及语句:
定义各种数据库的"对象" 模式定义 表定义 视图定义 索引定义 SQL的数据定义语句 操作对象 操作方式 创建 删除 修改 模式 CREATE SCHEMA DROP SCH ...
- 【ClickHouse SQL 极简教程】ClickHouse SQL之数据定义语言 DDL
1.1. ClickHouse SQL之数据定义语言 DDL 本节介绍 ClickHouse 中进行数据库.表结构的定义和管理. 1.1.1. 概述 在SQL中,数据定义语言( DDL ) 用来创建 ...
- 数据库 ----- 实验二:SQL的数据定义和数据更新
实验二 SQL的数据定义和数据更新 [实验目的和要求] 1.掌握SQL Server Management Studio中以SQL 命令方式和以向导方式操作表和数据的操作: 2.掌握SQL 的数据定义 ...
- 【数据库系统】第一部分 数据库基础(3) 关系数据库标准语言SQL(3) 数据定义
本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...
- MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接
MySQL连接退出命令 mysql –uroot -proot mysql –h127.0.0.1 –uroot -proot mysql --host=localhost --user=root - ...
- 交互式SQL(数据定义部分)
在Oracle Database XE 的SQL命令窗口中,使用SQL语言定义Student表,该表的结构描述如下: 表3.1 Student表结构 列名 数据类型 是否为空 约束 Sno CHAR( ...
- MySQL中定义fk语句_MySQL的SQL语句 - 数据定义语句(6)- ALTER TABLE 语句 (4)
外键和其他约束 InnoDB和NDB存储引擎支持 FOREIGN KEY 和 REFERENCES 子句,这些存储引擎实现了ADD [CONSTRAINT [symbol]] FOREIGN KEY ...
- 数据库技术与应用(SQL Server)——【SQL Server数据定义功能】
目录 数据库的创建 使用SQL语句创建 表的创建 添加约束 添加主键约束 外键约束 唯一值约束UNIQUE 非空约束NOT NULL 默认值约束DEFAULT CHECK约束 数据库的创建 使用SQL ...
最新文章
- Leon系列处理器结构
- JAVA记录-Servlet RequestDispatcher请求转发
- 江苏c语言二级试题及答案,江苏省计算机二级C语言试题及答案.doc
- python计算思维训练文件操作与异常处理_054 Python程序设计思维
- linux cp 命令使用一角
- linux 故障注入_用软件中断实现的Linux内核故障注入方法
- Oracle创建表语句(Create table)语法详解及示例
- Leetcode: Pascal's Triangle II
- TotalCommander增加回到桌面功能
- nlp基础—7.隐马尔可夫模型(HMM算法)
- Java基础,无需使用复杂语句,实现输出0-130之间的数字,每行显示7个数字。
- CWMP\TR069协议学习随笔1——入门基础知识及环境搭建
- 6月读书《有效的管理者》笔记
- 窃取5亿雅虎用户信息的黑客 被判处5年有期徒刑
- speedoffice(Excel)表格如何添加边框?
- 考研数据库复习(一) 过一遍教材
- 凸包(Convex Hull)问题算法详解
- LAPARDIN WEDLUTS Romantic Wedding LUTs 浪漫唯美婚礼电影调色预设
- Python一对一题目辅导「PTA 题目讲解·难度系数:基础」
- 牛客竞赛:第三届超越杯程序设计团体赛题解