常见的MySQL语法总结
来源:互联网 发布:淘宝独立设计师店铺 编辑:程序博客网 时间:2024/06/05 02:10
基本增删改查
- SELECT * FROM tablename
- SELECT 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 table
- LIKE用于在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顺序
- SELECT
- FROM
- WHERE
- GROUP BY
- HAVING
- ORDER BY
- LIMIT
阅读全文
0 0
- 常见的MySQL语法总结
- 几个常见的MySQL语法
- mysql 自定义函数的常见语法
- Cocoapods的Podfile常见语法总结
- Cocoapods的Podfile常见语法总结
- Cocoapods的Podfile常见语法总结
- 总结常见的ES6新语法特性
- Mysql的常见错误总结
- mysql常见基础语法
- MySql常见语法
- freemarker常见语法总结。
- MySQL中常见语法汇总
- C++11常见语法总结
- MySQL与Oracle语法上一些常见的差异
- JQuery常见的语法以及简单例子总结
- 总结常见的mysql数据库优化操作
- mysql常见的面试题总结
- MySQL 常用语法总结
- 事务处理
- 时区相关知识扫盲
- Servlet访问数据库mysql
- test
- Quartus II SignalTap使用心得
- 常见的MySQL语法总结
- 正则表达式之分组 group(java版)
- Java基础:Java中的static关键字解析
- Fish shell 入门教程
- Swift编程问题
- ubuntu分卷压缩文件怎么解压
- java IO各种类介绍
- JSP脚本的9大内置对象
- vue绘制环形图