1、DDL语句
数据定义语句,用来定义数据库、表、列、索引等对象。常用关键字为create、drop、alter。
1.1数据库操作
1.1.1创建数据库
CREATE DATABASE dbname
1.1.2查看有哪些数据库
SHOW databases
1.1.3使用数据库
USE dbname
1.1.4删除数据库
DROP DATABASE dbname
1.2表操作
1.2.1创建表
CREATE TABLE tablename( columnname_1 columntype_1 constrains, columnname_2 columntype_2 constrains, ... columnname_n columntype_n constrains)
columnname是列名,columntype是列的类型,constrains是约束条件
1.2.2查看指定数据库的所有的表
SHOW TABLES
1.2.3查看表定义
DESC tablename
1.2.4删除表
DROP TABLE tablename
1.2.5修改表
(1)修改表类型
ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST|AFTER col_name]
使用FIRST|AFTER col_name可以修改列的位置,这是mysql有的特性,其他数据库未必有
(2)增加表字段
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST|AFTER col_name]
(3)删除表字段
ALTER TABLE tablename DROP [COLUMN] col_name
2、DML语句
数据操纵语句,用来添加、删除、更新和查询记录。
2.1插入记录
INSERT INTO tablename (field1,field2...) VALUES(value1,value2...) INSERT INTO tablename VALUES(value1,value2...)
插入字段可以不需要列名,但是需要按照列的排序插入
2.2更新记录
UPDATE tablename SET field1=value1,field2=value2... [WHERE CONDITION]
2.3删除记录
DELETE FROM tablename [WHERE CONDITION]
2.4查询记录
2.4.1基础使用
SELECT * FROM tablename [WHERE CONDITION]
2.4.2条件查询
使用and、or、>、<、>=、<=、!=、=等运算符
2.4.3排序
SELECT * FROM tablenaem [WHERE CONDITION] [ORDER BY field1 [DESC|ASC],field2 [DESC|ASC]...]
默认是ASC升序。
2.4.4限制
SELECT ... [LIMIT offset_start, row_count]
把查询到的结果只显示一部分,offset_start是开始的偏移量,从0开始,row_count是显示的记录条数。
2.4.5聚合
SELECT [field1,field2...] fun_name FORM tablename [WHERE CONDITION] [GROUP BY field1,field2...] [WITH ROLLUP] [HAVING where_condition]
把查询到的结果按照GROUP BY后的字段聚合在一起,SELECT的时候不能SELECT 没有GROUP BY的字段。
WITH GOLLUP是对聚合后的结果再汇总。
HAVING是对分类后的结果再进行过滤。
2.4.6表连接
表连接分为内连接和外连接,外连接又分为左连接和右连接。内连接需要2张表都匹配的数据。左连接可以获取左边表所有的记录哪怕右边表没有匹配的记录,右连接相反。
2.4.7子查询
查询需要的条件是另一个select语句的结果,使用关键字in、not in、=、!=、exists、not exists等。
2.4.8记录联合
SELECT col_name1 FORM t1 UNION|UNION ALL SLECT col_name2 FROM t2 ...
把结果集合并在一起,UNION会去重。
2.4.9模糊查询
SELECT * FROM tablename WHERE col_name like pattern
%替代任意个字符,_替代一个字符。
columnname_2 columntype_2 constrains
浙公网安备 33010602011771号