常见的MySQL语法总结
2017-11-08 16:37
323 查看
基本增删改查
SELECT * FROM tablenameSELECT DISTINCT * FROM tablename 去重
SELECT * FROM table WHERE num =1 条件
AND,OR,条件组合
SELECT * FROM table Order by list1 ASC(正序),list2 DESC(倒序)
INSERT INTO table (list1,list2) VALUES (’value1’,’value2’)
UPDATE table SET list1=’value1’ list2=’value2’ WHERE list3=”
DELETE FROM table WHERE list=’value’ 删除一行
高级操作
SELECT TOP num|percent column_name FROM tableLIKE用于在WHERE子句中指定模式,SELECT name FROM table WHERE name LIKE ‘N%’以N开头
也可以使用NOT来进行筛除
通配符,%可以通配多个字符,_通配一个字符,[abc]通配其中一个,[^abc]通配非其中的一个
SQL in:结合WHERE指定列可以选择的值 SELECT * FROM table WHERE list in (‘value1’,’value2’)
between:结合WHERE指定按一定顺序所属的范围SELECT * FROM table WHERE list BETWEEN ‘value1’(包括) AND ‘value2’(不包括)
SQL ALIAS:使用表的别名进行选择或者显示,可以对表做别名或者列做别名
1.对表 SELECT p.name,p.address FROM table as p
2.队列 SELECT name AS family FROM table 显示则为family为列名显示值
SQL join:对两个表做连接,SELECT table1.name,table2.address FROM table1 INNER JOIN table2 ON table1.id=table2.id ORDER BY table1.name
left join:坐表的所有行都会被列出,即使有的行对应的右表不存在
9.right join:同理
full join:列出左右表所有存在的行
UNION:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同,UNION不存在重复的值,也就是说如果两个SELECT中存在重复的值会被删除,可以使用union all来允许重复
SELECT name FROM table1 UNION SELECT name FROM table2
SELECT INTO:将部分数据插入到另一个表中或做备份 SELECT list INTO newtable FROM old_table
还可以向另一个数据库中拷贝数据 SELECT column_name INTO new_table IN db FROM old_table
可以将联结查询得到的数据拷贝SELECT column1,column2 INTO new_table FROM table1 INNER JOIN table2 ON list1=list2
create database:创建数据库
create table:CREATE TABLE table_name(list1 type,list type2….)
约束:定义的时候加上,如CREATE TABLE table_name (list1 int NOT NULL)
1.NOT NULL:不允许为空
2.UNIQUE:不允许重复,CREATE TABLE table_name (list1 int NOT NULL,UNIQUE (list1))
可以为该约束命名 CONSTRAINT name UNIQUE(list)
若表已经创建,ALTER table ADD UNIQUE(list)
撤销 ALTER table DROP UNIQUE
3.PRIMARY KEY:主键必须值唯一,只能有一个主键
4.FOREIGN KEY:指向另一个表的主键
CREATE TABLE table_name (list1 int NOT NULL,FOREIGN KEY (list1) REFERENCES table2(list2))
5.CHECK:限定定义的列的值范围 如CHECK (list>0)
6.DEFAULT:CREATE TABLE table_name (list1 int DEFAULT ‘hello’)不赋值则为默认值
表已经存在,ALTER table ALTER List SET DEFAULT ‘hello’
撤销 ALTER table ALTER list DROP DEFAULT
创建索引,可以更快地进行查询数据操作,但是更新一个包含索引的表会更加费时,用户无法看到索引
CREATE INDEX index_name ON table_name(column_name)可以使用倒序进行索引,加上DESC关键字
DROP:删除表,数据库或者删除索引
DROP TABLE table_name
DROP DATABASE db_name
DROP INDEX index_name
ALTER:添加,修改或者删除列
1.添加:ALTER TABLE table_name ADD Birthday data(type)
2.修改: ALTER TABLE table_name ALTER COLUMN Birthday year
3.删除:ALTER TABLE table_name DROP COLUMN Birthday
AUTO INCREMENT:自动为主键增加值
CREATE TABLE table_name(id int NOT NULL AUTO_INCREMENT PRIMARY KEY (id)) id从1开始增加
通过ALTER TABLE table_name AUTO_INCREMENT=100来设置初始值
SELECT顺序
SELECTFROM
WHERE
GROUP BY
HAVING
ORDER BY
LIMIT
相关文章推荐
- mysql基本语法总结篇
- Mysql系列二 mysql语法总结
- MySQL常见命令总结及资料汇总
- Oracle转到mysql遇到的常见问题和Oracle与MySQL语法区别。
- mysql Access denied for user \'root\'@\'localhost\'”解决办法总结,下面我们对常见的出现的一些错误代码进行分析并给出解决办法,有需要的朋友可参考一下。
- mysql 语法总结
- mysql基本语法及面试常见问题
- MySql常见语法
- 编译安装php及编译安装mysql常见错误总结及解决办法 网上找的
- MySQL 常用语法总结
- mysql_语法总结
- Mysql学习总结(28)——MySQL建表规范与常见问题
- MySQL语法总结
- MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结
- 几个常见的MySQL语法
- MySQL的一些语法总结
- MYSQL 语法大全自己总结的
- mysql常见操作总结
- MySQL常用语法总结
- Cocoapods的Podfile常见语法总结