SQL的DDL和DML
DDL:数据定义语言,定义库、表结构用的
DML:数据操作语言,增、删、改、查
DCL:数据控制语言,权限、事务等控制语句
(一)DDL
1、操作数据库的语句
(1)查看当前DBMS中的所有数据库
show databases;
(2)创建一个数据库
create database 数据库名;
(3)删除一个数据库
drop database 数据库名;
(4)使用,指定使用哪个数据库
use 数据库名;
有了这句后,下面的sql都是默认针对这个数据库的操作。
2、操作表格的语句
(1)查看某个库的所有表格
show tables; #必须前面有use 数据库名;的语句 否则报no database select的错误
show tables from 数据库名;
(2)创建表格
基本版:
create table 【数据库名.】表名称(
字段名1 数据类型,
字段名2 数据类型,
字段名2 数据类型,
....
);
create table 【数据库名.】表名称(字段名1 数据类型,字段名2 数据类型,字段名2 数据类型,....);
注意:最后一个字段名的数据类型后面就不用加,
例如:
create table employee(
id int,
name varchar(20),
age int,
salary double,
gender char,
birthday date
);
(3)查看表结构
desc 表名称;
(4)修改表结构:增加一列
alter table 表名称 add 字段名 数据类型 【after 字段名/ first】;
例如:alter table employee add tel char(11);
alter table employee add tel char(11) after name;
(5)修改表结构:删除一列
alter table 表名称 drop 字段名;
例如:alter table employee drop tel;
(6)修改表结构:修改列的类型,位置等
alter table 表名称 modify 字段名 数据类型 【after 字段名/ first】;
例如:alter table employee modify gender char(2) after age;
(7)修改表结构:修改列的名称
alter table 表名称 change 旧字段名 新的字段名 数据类型 【after 字段名/ first】;
例如:alter table employee change gender sex char(2) after age;
(8)修改表名称
alter table 表名称 rename to 新名称;
例如:alter table employee rename to emp;
(9)删除整张表,包括数据和表结构
drop table 表名称;
(二)DML
1、添加数据
(1)为表的所有列赋值
insert into 表名称 values(值列表);
例如:employee
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| salary | double | YES | | NULL | |
| gender | char(1) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
insert into employee values(1,'张三',23,10000,'男','1990-01-01');
(2)为表的部分列赋值
insert into 表名称(字段列表) values(值列表);
insert into employee(id,name) values(2,'李四');
(3)可以一次性增加多行
insert into 表名称 values(值列表1),(值列表2),....;
insert into 表名称(字段列表) values(值列表1),(值列表2),....;
例如:insert into employee(id,name) values(3,'王五'),(4,'赵六'),(5,'钱七');
2、修改数据
update 表名称 set 字段名1 = 字段值1, 字段名2 = 字段值2 【where 条件】;
例如:update employee set gender = '男';
update employee set age = 24 where name = '李四';
update employee set salary = salary * 2; #给所有人涨薪
3、删除数据
delete from 表名称 【where 条件】;
例如:delete from employee;
delete from employee where name = '赵六';
4、查看数据
(1)查看所有的数据
select * from 表名称;
例如:
select * from employee;
(2)查看部分列
select 字段列表 from 表名称;
例如:
select id,name from employee;
(3)查看部分行
select * from 表名称 【where 条件】;
select 字段列表 from 表名称 【where 条件】;
例如:select * from employee where name ='张三';
#查看张三的薪资
select salary from employee where name ='张三';
5、可以在查询结果时,给字段取别名。
select 字段名1 as "别名1",字段名2 as "别名2" ... from 表名称 【where 条件】;
例如:select id as "编号", name as "姓名", salary as "薪资" from employee;
select id "编 号", name 姓名, salary 薪资 from employee;
SQL的DDL和DML的更多相关文章
- JAVA-Unit01: 数据库原理 、 SQL(DDL、DML)
Unit01: 数据库原理 . SQL(DDL.DML) SQL语句是不区分大小写的,但是行业里习惯将关键字与分关键字用大小写岔开以提高可读性. SELECT SYSDATE FROM dual DD ...
- SQL之DDL、DML、DCL、TCL
SQL SQL(structured query language)是一种领域特定语言(DSL,domain-specific language),用于管理关系型数据库(relational data ...
- SQL、PL/SQL、DDL、DML、TCL介绍
SQL:结构化查询语言(Structured Query Language) PL/SQL:过程化SQL语言(Procedural Language/SQL) DDL(Data Definition ...
- SQL Server - SQL语言组成 (DML、DDL、DCL、DQL的区别)
转载自:https://www.cnblogs.com/dato/p/7049343.html 作者:Dato.zeng --------------------------------------- ...
- SQL语法之DDL和DML
SQL语法之DDL和DML DDL数据库定义语言 create 创建 alter 修改 drop 删除 drop和delete的区别 truncate DML 数据操作语言 insert ...
- SQL Server DDL触发器运用
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 基础知识(Rudimentary Knowledge) DDL运用场景(DDL Scene) ...
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...
- jdbc java数据库连接 3)Statement接口之执行DDL、DML、DQL
|- Statement接口: 用于执行静态的sql语句 |- int executeUpdate(String sql) : 执行静态的更新sql语句(DDL,DML) |- ResultSet ...
- SQL基础-----DDL
1 (My)SQL入门 这里用了(My)SQL这样的标题,目的是介绍标准SQL的同时,也将MySQL在标准SQL上的扩展一同介绍给读者. 2:SQL分类 SQL语句主要可以划分为以下3个类别 .DDL ...
随机推荐
- MacBook pro管理员变成普通用户无法解锁问题
最近使用Mac的时候,把管理员的名字修改了一下,WTF?没有管理员权限了?然后就没有解锁权限了,这可以说是Mac的一个致命bug呀!下载软件也不可以了.具体我的解决方式在这里记录一下,以供和我遇到同样 ...
- mongodb Sort排序能够支持的最大内存限制为32M Plan executor error during find: FAILURE
1.一个比较老的游戏服维护,关服维护后启动时报错 2.看到关于mongodb的报错,于是去查一下mongodb的日志 Plan executor error during find: FAILURE, ...
- LOJ #2731 [JOI2016春季合宿]Solitaire (DP、组合计数)
题目链接 https://loj.ac/problem/2731 题解 首先一个很自然的思路是,设\(dp[i][j]\)表示选了前\(i\)列,第\(2\)行第\(i\)列的格子是第\(j\)个被填 ...
- CSP2019游(AFO?)记
Day 1 不知道为啥一看到\(T1\)就想到\(longlong\)可能存不下,试了下果然. \(T2\)想了半个小时胡出个\(O(n)\)算法,但是假了.冷静了一下,做了前缀和之后,合法的子区间\ ...
- MERGE INTO 解决大数据量复杂操作更新慢的问题
现我系统中有一条复杂SQL,由于业务复杂需要关联人员的工作离职三个表,并进行分支判断,再计算人员的字段信息,由于人员多,分支多,计算复杂等原因,一次执行需要5min,容易卡死,现在使用MERGE IN ...
- 码云转移至阿里云Code记录
用起来还是挺简单的,跟码云差不多,但关键是企业私有项目成员人数没有限制!码云限制5人(免费) 注意两点: 1.导入仓库链接的时候,如果username是邮箱含@,要换成%40,不然这个项目直接报500 ...
- 编写可维护的JavaScript代码(部分)
平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点.看了<编写可维护的javascript代码>之后,做了些笔记. var resul ...
- ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?
一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...
- Linux 关机/重启命令
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definiti ...
- Helm chart仓库官方仓库不能使用解决方法
Helm chart仓库官方仓库不能使用解决方法 k8s中的官方helm chart仓库在国内可能使用不了,但是我们又需要使用,这里推荐几个方法. 使用其他的chart仓库 微软的chart仓库 ht ...