MySQL学习笔记(一):SQL基础
定义: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 显示所有可供查询的的分类, 进一步查询 只需 ?后接相关关键字
MySQL学习笔记(一):SQL基础的更多相关文章
- MySQL学习笔记_8_SQL语言基础复习
SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...
- MySQL学习笔记01_数据库基础知识
01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mys ...
- mysql学习笔记—常用sql函数
SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...
- mysql学习笔记—常用sql语句
sql注意事项: SQL 对大小写不敏感:SELECT 与 select 是相同的 某些数据库系统要求在每条 SQL 语句的末端使用分号. CREATE DATABASE CREATE DATABAS ...
- MySQL学习笔记(一)—数据库基础
一.数据库概述 1.数据库的组织结构 (1)数据库就是用来存放信息的仓库. (2)数据库里的数据集合都存放在数据表(table)里. (3)数据表由数据行(row)和数据 ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- 一千行MySQL学习笔记 (转)
出处: 一千行MySQL学习笔记 /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权 ...
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
随机推荐
- vue 高德地图之玩转周边
前言:在之前的博客中,有成功引入高德地图,这是以前的地址 vue 调用高德地图. 因为一些需求,需要使用到地图的周边功能. 完整的项目代码请查看 我的github 一 .先看要实现的结果,参考了链 ...
- WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)
我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的. 现在,感觉和事实是完全不同的两个东西.当你看到三层架构的框图的时候,你会觉得每层的职责被分配的很好.但是当你你真的去写代码的 ...
- Tomcat启动报错java.lang.UnsatisfiedLinkError
之前tomcat启动老是报错,虽然不影响项目的启动运行,但是有强迫症的程序员会心里不爽: 问题是由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的. 后面我把原先tomcat启动环境 ...
- 写代码中遇到的问题(php接收不到传过来的json数据,php使用utf8的用法)
今天写代码用python处理完数据,传给php服务器后,发现接收不到数据,因为是跨域,所以加了消息头:header('Access-Control-Allow-Origin:*');但是并没有什么卵用 ...
- Winform使用的一些常识
? 防止数据绑定的列动态添加 需要设置DataGridView的AutoGenerateColumns属性为False ---------------------------------------- ...
- smarty获取变量的两种方式
从上一篇随笔中,我们知道smarty可以通过assign()的方法注册变量,从而在前段读取变量:我们也可以从配置文件中获取变量,来具体看一下: 1.在configs文件夹中建一个test.conf文件 ...
- 发布.NET MVC网站 到Azure
最近的项目部署在Microsoft Azure,学习了一些新东西,记录下. 1.账号. 用于登录portal(https://portal.azure.cn/),账号下有对应的Subscription ...
- 【Android Developers Training】 43. 序言:管理音频播放
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- Http批量异步发送和数据保存
先说需求. 有个服务程序定时扫描指定文件夹下一个所有文件,文件包含了多个用户(客户)信息及对应的http发送地址和发送数据.现在该服务程序需要提取这些用户信息,然后批量进行发送:发送完后需要将http ...
- 自画一张linux基础架构学习框架图
草图一张,仅供参考,学习并掌握下面这张图的技能只是个开始--