1. 什么是SQL?
Structured Query Language:结构化查询语言。其实就是定义了操作所有关系型数据库的规则,每一种数据库操作的方式存在不一样的地方称为“”方言“”。
2. SQL通用语法:
SQL 语句可以单行或多行书写,以分号结尾。
可使用空格和缩进来增强语句的可读性。
MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
种注释
单行注释: -- 注释内容 或 # 注释内容(mysql 特有)
多行注释: /* 注释 */
3. SQL分类:
a) DDL:数据定义语言
用来定义数据库对象:数据库,库,列等。关键字:create,drop,alter等
b) DML数据操作语言
用来对数据库中的表中的数据进行增删改,关键字:insert,delete,update等
c) DQL数据查询语言
用来查询数据库中表的数据。关键字select,where等
d) DCL数据控制语言
用来定义数据库的访问权限和安全级别,及创建用户。关键字:frant。Revoke等
##DDL
4. 操作数据库:CRUD
a) C (create):创建
create database if not exists 数据库名 charater set 字符集名;
b) R(Retriieve):查询
show databases:查询所有数据库名称
show creat datebase 数据库名称:查询莫格数据库的创建语句(字符集)
c) U(Update):修改
alter database 数据库名称character set 字符集名称;
d) D (Delete):删除
drop database id exists 数据库名称;
e) 使用数据库
select database()
use 数据库名称
操作表
5.
a) C(create):创建
create table 表名(
列名1 数据类型1,
……
列表n 数据类型n
);
注意:最后一列,并不需要逗号(,)
数据类型:
int整数类型;double(数据长度,小数);date/datetime(包含时分秒);timestamp系统时间;varchar字符串
复制表
create table 表名 like 被复制的表名
6. R(Retriieve):查询
show tables:查询某个数据库中所有的表名称
desc 表名:查询表结构
7. U(Update):修改
a) 修改表名
alter table 表名 rename to 新的表名;
b) 修改表的字符集
alter table 表名 character set 字符集名称;
c) 添加一列
alter table 表名 add 表名 数据类型;
d) 修改列名称 类型
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
e) 删除列
alter table 表名 drop 列名;
8. D(Delete):删除
drop table 表名;
drop table if exists 表名;
DML: 增删改表中数据
9. 添加数据
语法:insert into 表名(列名1..) values(值1..)
删除数据:
语法:delete from 表名(where 条件)
10. 删除所有数据:
delete from 表名:不推荐
TRUNCATE TABLE 表名
11. 修改数据
updata 表名 set 列名1=值1,.. (where 条件);
DQL:查询表中的记录
12. 语法:
select 字段名 from 表 列表 where 条件列表 group by 分组字段 order by 排序 limit 分页限定
13. 基础查询
a) Select 字段名1 from 表名;
b) 去除重复:distinct
c) Ifnull(表达式1,表达式2):
表达式1:那个字段是否需要判断是否为null
如果该字段为null后的替换值
d) 别名
as:as也可以省略
14. 条件查询
A) > 、< 、<= 、>= 、= 、<> ,!=
B) BETWEEN...AND
C) IN( 集合)
D) LIKE:模糊查询
占位符:_ 单个 %多个
|
|