常见的MySQL语法总结

来源:互联网 发布:淘宝独立设计师店铺 编辑:程序博客网 时间:2024/06/05 02:10

基本增删改查

  1. SELECT * FROM tablename
  2. SELECT DISTINCT * FROM tablename 去重
  3. SELECT * FROM table WHERE num =1 条件
  4. AND,OR,条件组合
  5. SELECT * FROM table Order by list1 ASC(正序),list2 DESC(倒序)
  6. INSERT INTO table (list1,list2) VALUES (’value1’,’value2’)
  7. UPDATE table SET list1=’value1’ list2=’value2’ WHERE list3=”
  8. DELETE FROM table WHERE list=’value’ 删除一行

高级操作

  1. SELECT TOP num|percent column_name FROM table
  2. LIKE用于在WHERE子句中指定模式,SELECT name FROM table WHERE name LIKE ‘N%’以N开头
    也可以使用NOT来进行筛除
  3. 通配符,%可以通配多个字符,_通配一个字符,[abc]通配其中一个,[^abc]通配非其中的一个
  4. SQL in:结合WHERE指定列可以选择的值 SELECT * FROM table WHERE list in (‘value1’,’value2’)
  5. between:结合WHERE指定按一定顺序所属的范围SELECT * FROM table WHERE list BETWEEN ‘value1’(包括) AND ‘value2’(不包括)
  6. SQL ALIAS:使用表的别名进行选择或者显示,可以对表做别名或者列做别名
    1.对表 SELECT p.name,p.address FROM table as p
    2.队列 SELECT name AS family FROM table 显示则为family为列名显示值
  7. SQL join:对两个表做连接,SELECT table1.name,table2.address FROM table1 INNER JOIN table2 ON table1.id=table2.id ORDER BY table1.name
  8. left join:坐表的所有行都会被列出,即使有的行对应的右表不存在
    9.right join:同理
  9. full join:列出左右表所有存在的行
  10. UNION:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同,UNION不存在重复的值,也就是说如果两个SELECT中存在重复的值会被删除,可以使用union all来允许重复
    SELECT name FROM table1 UNION SELECT name FROM table2
  11. 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
  12. create database:创建数据库
  13. create table:CREATE TABLE table_name(list1 type,list type2….)
  14. 约束:定义的时候加上,如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
  15. 创建索引,可以更快地进行查询数据操作,但是更新一个包含索引的表会更加费时,用户无法看到索引
    CREATE INDEX index_name ON table_name(column_name)可以使用倒序进行索引,加上DESC关键字
  16. DROP:删除表,数据库或者删除索引
    DROP TABLE table_name
    DROP DATABASE db_name
    DROP INDEX index_name
  17. 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
  18. 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顺序

  1. SELECT
  2. FROM
  3. WHERE
  4. GROUP BY
  5. HAVING
  6. ORDER BY
  7. LIMIT
原创粉丝点击