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 ...
随机推荐
- jquery animate()方法 语法
jquery animate()方法 语法 作用:animate() 方法执行 CSS 属性集的自定义动画.该方法通过CSS样式将元素从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创 ...
- .Net中手动实现AOP
序言 资料 https://www.cnblogs.com/farb/p/AopImplementationTypes.html
- java常见问题 ——运行报错1
错误1 打印乱码 相关代码 response.getWriter().print(tbItem.toString()); response.setContentType("text/html ...
- MessagePack Java Jackson Dataformat 在 Map 中不使用 String 为 Key 的序列化
当你希望在 Map 中不使用 String 为 Key,那么你需要使用 MessagePackKeySerializer 来为 key 进行序列化. 本测试方法,可以在 https://github. ...
- hdu 1297
Children's Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- matplotlib中 plt.plot() 函数中**kwargs的参数形式
plt.plot(x, y, **kwargs) **kwargs的参数大致有如下几种: color: 颜色 linestyle: 线条样式 marker: 标记风格 markerfacecolor: ...
- AcWing:131. 直方图中最大的矩形(贪心 + 单调栈)
直方图是由在公共基线处对齐的一系列矩形组成的多边形. 矩形具有相等的宽度,但可以具有不同的高度. 例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1: 通常,直 ...
- Ranger使用solrCloud存储审计日志
Ranger使用solrCloud存储审计日志 标签(空格分隔): Ranger 1, Zookeeper 搭建 1,忽略.默认已经搭建好zk 集群. VECS17820:2181,VECS17821 ...
- 微信公众号实现无限制推送模板消息!可向指定openID群发
微信认证的服务号才有推送模板消息接口所以本文需要在认证服务号的情况下学习 以上就是模板消息,只有文字和跳转链接,没有封面图.在服务号的后台添加功能插件-模板消息即可. 模板消息,都是在后台选择一个群发 ...
- mybatis延迟加载(assocation)
一.何为延迟加载? 延迟加载 我们并不需要总是在加载用户信息时就一定要加载他的账户信息.此时就是我们所说的延迟加载. 就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据.延迟加载也称懒加载. ...