数据库DDL.DML

MYSQL基础(关于基础的三种语言)

SQL:DDL,DML,DCL

  • DDL(database definition language)定义数据库,表。

具体应用:

  1. 创建数据库A:create database A;

  删除数据库A: drop database B;

 

  1. 查找系统中存在哪些数据库:show databases;

 

3.电脑里面开始的时候默认有4 个数据库,它们都是安装MySQL时系统自动创建的,其各自功能如下。

information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信息、权限信息、字符集信息、分区信息等。

cluster:存储了系统的集群信息。我自己电脑里面的数据库没有找到)

mysql:存储了系统的用户权限信息。

test:系统自动创建的测试数据库,任何用户都可以使用。

 

4.查找B数据库的表有哪几个:use database B;

Show tables;

  查看具体的表例如hello表中的具体信息:desc hello;

  更加详细查看hello表信息:show create table hello \G;(会看到这个表的存储引擎和字符集)

查找表中字段的记录信息:select * from bai;

 

5.数据库C中创建一个(有诸多要求,后面会讲解的):

                    Create database C;

                       Use  C;

                    Create table hello(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));                   

hello:表的名字

表中三个字段:ename(姓名),hiredate(日期),sal(薪水)

Deptno(部门号,暂时没看到那里,后面会讲解

 

6.删除表:drop table hello;

  修改表的名字为hi:alter table hello rename hi;

  修改表中的字段类型(例如将ename的类型改为varchar(20))

Alter table hello modify ename varchar(20);

增加一个字段age(默认放在最后):alter table hello add column age int(3);

   (column:字段)

如果要放在第一个:alter table hello modify age int(3) first;

如果要放在ename的后面:alter table hello add age int(3) after ename;

 

删除字段age:alter table hello drop column age;

修改表的字段名字和类型:alter table hello change age agel int(4)(age--agel,修改表中的字段名字只可以用change,不可以用modify)

如果用change修改表的字段类型要写两次字段名字

Alter table hello change age age varchar(20);

 

  • DML

为表中字段内容进行增添,修改,删除,更新。

  1. 更新记录:根据一个表对另一个表进行更新。在二者有着共同相同的条件下,可以是ename相同或者是编号depton相同。会用其他符号来代表两个表。

 

2.增添记录:insert into bai (ename,sal) values(‘wang’,’2000’);

还可以简写:insert into bai values(‘wang’,’2000’);(但是顺序要和字段顺序是一样的才可以)

3.删除记录:

删除了两个表中编号都为1的所有相关数据。

 

4.查询记录:select * from bai;(查询表中的全部记录),select ename from bai;(只查询字段ename)

查询不重复的记录:select distinct ename from bai;(查询得名字是不重复的)

查询某些具体的记录:用where当限制条件

查询排序后的某些记录:select * from bai order by sal;(按照薪水排序,一般默认为升序),如果是降序,为select * from bai order by sal desc;

按照好多限制条件排序:select * from bai by sal ,deptno;(多加了一个部门号)

只显示排序后的前两行:select * from bai order by sal desc limit 2;(一般默认从第一行开始,第一行默认为0)

从第二行开始显示前4行:select * from bai order by sal limit 1,4;

 

  1. 查询表中薪水最大,统计总的人数,部门人数等等。

关键字:count(1),sum(),min(),max()

 

  1. 表连接:目前为止还不是很了解(表连接通常用来优化子查询);union(汇总,去掉重复的)和union all(汇总即可),一般涉及一个字段就可以了。如果要将两个表中的内容安全合成为一张表,需要用到的就是表连接了。
  2. 子查询的一些用法:关键字:in,=,.......(待研究)

 

 

三.DCL

定义访问权限和安全级别。对象权限。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值