博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库1
阅读量:4982 次
发布时间:2019-06-12

本文共 2134 字,大约阅读时间需要 7 分钟。

https://www.cnblogs.com/zhanht/p/5404193.html

定义:SQL即Structure Query Language(机构化查询语言)的缩写,是使用关系数据库的应用语言。

 

包括三个类别

(1):DDL(Data Definition Language) 数据定义语言,主要用于这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用语句包括:create,drop,alter等。

(2):DML(Data Manipulation Language) 数据操纵语言,主要用于添加,删除,更新和查询数据库记录,常用      关键字:insert, delete,update,select等。

(3):DCL(Data Control Language) 数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

 

DDL语句:

1.创建数据库

CREATE DATABASE dbname

2.查看数据库

USE dbname

3.删除数据库

drop database dbname

4.创建表

CREATE TABLE tablename (column_name_1 column_type_1 constraints,

column_name_2 column_type_2 constraints , ……
column_name_n column_type_n constraints)

5.查看表信息

desc tablename 或者 show create table tablename \G(这个信息更详细,包括使用的引擎,charset等,\G表示信息竖着排列)

6.删除表

drop table tablename

7.修改表类型(modify)

ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

8.增加表字段

ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name]

9.删除表字段

ALTER TABLE tablename DROP [COLUMN] col_name

10.字段改名(change)

ALTER TABLE tablename CHANGE [COLUMN] old_col_name column_definition [FIRST|AFTER col_name]

      注意:1.first,after 用于改变字段的排列顺序;

               2. modify 和 change 都能改变表的定义,但change后需要两次列名,不方便,但change可以修                    改名称,modify不能,modify只能改表类型。

11.表改名

ALTER TABLE tablename RENAME [TO] new_tablename

 

DML语句:

1. 插入记录

INSERT INTO tablename (field1,field2,……fieldn) VALUES(value1,value2,……valuesn);

也可以不用指定字段名称, 但是 values 后面的顺序应该和字段的排列顺序一致


2.更新记录

UPDATE tablename SET field1=value1, field2.=value2, ……fieldn=valuen [WHERE CONDITION]

3.删除记录

DELETE FROM tablename [WHERE CONDITION]

4.查询记录

SELECT * FROM tablename [WHERE CONDITION]

 补:distinct 不重复

       order by 排序 DESC(降序) ASC(升序)

       limit(MySQL特有):前几条记录(从0开始),limit 3 前三条, limit 1,3 第一条开始的前三条

       聚合:sum, avg,count,min,max  可加 group by (分类聚合)和 having子句(结果再条件过滤)

       表连接:内连接,外连接(左连接,右连接)

       子查询:in ,not in, =, !=, exists, not exists

        联合:union(会去重), union all

 

DCL语句:

1.授权

grant select,insert on sakila.* to 'z1'@'localhost' identified by '123'

2.收回权限

revoke insert on sakila.* from 'z1'@'localhost'

 

帮助的使用

? contents 显示所有可供查询的的分类, 进一步查询 只需 ?后接相关关键字

转载于:https://www.cnblogs.com/fengff/p/9682427.html

你可能感兴趣的文章
HUST 1328 String (字符串前缀子串个数 --- KMP)
查看>>
[转]C,C++开源项目中的100个Bugs
查看>>
Linux内核spin_lock与spin_lock_irq分析
查看>>
html input中 button和submit的区别
查看>>
ionic实现点击popup区域外部分来关闭popup
查看>>
Android 架构 3.实现
查看>>
spring+mybatis整合读取不了配置文件
查看>>
字典dict
查看>>
iostat命令
查看>>
认清世界,认清自我,超凡脱俗
查看>>
在yii框架中如何连接数据库mongodb
查看>>
只 能处理少于 32766 个字符的字符串
查看>>
表达式语言之EL表达式
查看>>
需求分析
查看>>
解决Win7下网络应用只有进程没有界面的问题
查看>>
半监督学习(一)
查看>>
[置顶] SPL讲解(6)--Condition篇
查看>>
在MyEclipse中配置Weblogic10服务器
查看>>
浙江大学PAT上机题解析之2-11. 两个有序链表序列的合并
查看>>
java中equals和==的区别详解
查看>>