SQL_基础

SQL分类

(1) DDL(Data Definition Languages):数据定义语言:不同的数据段、数据库、表、列、索引等数据库对象的定义(create、drop、alter)

(2) DML (Data Manipulation Language):数据操纵语句:增删改查(inset、delete、select)

(3) DCL(Data Control Language) :数据控制语句:数据库、表、字段、用户的访问权限和安全级别。

1.DDL数据定义语句

对数据库内部的对象进行创建、删除、修改的操作语言。涉及表的定义,结构的修改。
语句 意义

CREATE DATABASE dbname

创建数据库

SHOW databases/tables

查看系统存在哪些数据库/数据表

USE dbname

选择数据库

DROP DATABASE dbname

删除数据库

DROP TABLE tablename

删除表

CREATE TABLE tablename
(
column_name_1 column_type_1 constraints,
column_name_2 column_type_2 constraints , ……
column_name_n column_type_n
constraints
)

创建数据库

DESC tablename

查看表定义

SHOW CREATE TABLE tablename \G

查看更详细的表定义,\G表示使字段按照顺序竖着排列

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

修改表类型

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

增加表字段

ALTER TABLE tablename
DROP [COLUMN] col_name

删除表字段

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

字段改名

ALTER TABLE tablename
RENAME [TO] new_tablename

表改名

2.DML数据操纵语句

DML 操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select)
语句 意义

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

插入记录

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

更新记录

DELETE FROM tablename
[WHERE CONDITION]

删除记录

SELECT * FROM tablename
[WHERE CONDITION]

查询记录

SELECT DISTINCT column_name
FROM tablename
[WHERE CONDITION]

查询不重复的记录

SELECT * FROM tablename
[WHERE CONDITION]
[ORDER BY
field1 [DESC | ASC],
field2[DESC | ASC],
……fieldn [DESC|ASC]
[LIMIT offset_start,row_count]

排序限制

SELECT [field1,field2,……fieldn] fun_name
FROM tablename
[WHERE where_contition]
[GROUP BY field1,field2,……fieldn
[WITH ROLLUP]]
[HAVING where_contition]

聚合操作group by /having

SELECT ename,deptname
FROM dept
RIGHT JOIN[LEFT JOIN] emp
ON dept.deptno=emp.deptno;

右连接right join 左连接left join

in、not in、=、!=、exists、not exists
子查询

SELECT * FROM t1
UNION|UNION ALL
SELECT * FROM t2
……
UNION|UNION ALL
SELECT * FROM tn;

记录联合

3.DCL数据控制语句

DCL 语句主要是 DBA 用来管理系统中的对象权限时所使用
语句 意义

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

创建一个数据库用户 z1,具有对 sakila 数据库中所有表的 SELECT/INSERT 权限

revoke insert on sakila.* from ‘z1‘@’localhost’;

将z1 的权限变更,收回 INSERT,只能对数据进行 SELECT 操作

4.帮助的使用

语句 意义
?contents 显示所有可供查询的的分类
? data types Mysql支持的数据类型
? show

5.MYSQL支持的数据类型

(1)数值型

整数:tinyint  smallint  mediumint  int/integer  bigint 

浮点数:float  double 

定点数:dec(m,d) decimal(m,d):m表示长度,d表示小数位数

位:bit

(2)字符串类型

date  datetime  timestamp  time  year

(3)日期和时间类型

整数:char   varchar

字节:tinyblob   blob   mediumblob   longblob  tinytext   text mediumtext   longtext   varbinary  binary

sql数值型类型

sql字符串类型

日期和时间类型

文章目录
  1. 1. SQL分类
  2. 2. 1.DDL数据定义语句
  3. 3. 2.DML数据操纵语句
  4. 4. 3.DCL数据控制语句
  5. 5. 4.帮助的使用
  6. 6. 5.MYSQL支持的数据类型
| 139.6k