mysql常用语句总结
1、创建语句
CREATE DATABASE database_name //创建数据库
//删表
DROP TABLE IF EXISTS `t_social_user_extend`;
//建表
CREATE TABLE `t_social_user_extend` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NOT NULL COMMENT '用户id', `birthday` date DEFAULT NULL COMMENT '出生日期', `research_field` varchar(300) DEFAULT NULL COMMENT '研究领域', `interest_field` varchar(300) DEFAULT NULL COMMENT '兴趣领域', `photo_url` varchar(300) DEFAULT NULL COMMENT '头像''', `sex` varchar(10) DEFAULT NULL COMMENT '性别', `qq` varchar(20) DEFAULT NULL COMMENT 'QQ', `wechat` varchar(20) DEFAULT NULL COMMENT '微信', `contact_address` varchar(100) DEFAULT NULL COMMENT '联系地址', `user_name` varchar(45) DEFAULT NULL COMMENT '用户名', `password` varchar(45) DEFAULT NULL COMMENT '密码', `phone` varchar(32) DEFAULT NULL COMMENT '电话', `real_name` varchar(100) DEFAULT NULL COMMENT '真实姓名', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='utf8_general_ci'
2、常用语句
SELECT : SELECT 列名称 FROM 表名称 以及:SELECT * FROM 表名称
WHERE : SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
DISTINCT : SELECT DISTINCT
列名 FROM 表名
INSERT : INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
UPDATE : UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
DELETE FROM 表名称 WHERE 列名称 = 值
3、高级语句
LIMIT : SELECT column_name(s) FROM table_name LIMIT 起始数,条数 //select * from t_social_user limit 10,10;每页10条,第二页
LIKE : SELECT column_name(s) FROM table_name WHERE column_name LIKE '%pattern%'
IN : SELECT column_name(s)FROM table_name WHERE column_name IN (value1,value2,...)
BETWEEN : SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
AS : SELECT column_name AS alias_name FROM table_name
JOIN : SELECT table_name1.column_name1, table_name1.column_name2, table_name2.column_name3 FROM table_name1, table_name2 WHERE table_name1.column_name5 = table_name2.column_name6 //据表间关系从两个或多个表中获取数据
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
UNION : SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 //合并两个或多个 SELECT 语句的结果集
CREATE SELECT : CREATE TABLE new_table_name SELECT * FROM old_tablename //从一个表中选取数据,然后把数据插入另一个表中或常用于创建表的备份复件或者用于对记录进行存档。相当于sql的SELECT INTO :SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename
SQL Constraints(约束) , 主要包括以下几种约束:NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK、DEFAULT
CHECK : 用于限制列中的值的范围,如建表时CHECK (id>0)
CREATE INDEX : CREATE INDEX
index_name ON table_name (column_name) //在表中创建索引,在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。
DROP : ALTER TABLE table_name DROP INDEX index_name
DROP TABLE 表名称
DROP DATABASE 数据库名称
ALTER : ALTER TABLE table_name ADD column_name datatype default value//添加列
ALTER TABLE table_name DROP COLUMN column_name //删除列
ALTER TABLE table_name ALTER COLUMN column_name datatype //改变列数据类型
INCREMENT :
CREATE TABLE Persons (P_Id int NOT NULL AUTO_INCREMENT, //自增长,在新记录插入表中时生成一个唯一的数字
LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255),PRIMARY KEY (P_Id)
)
VIEW :CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition //创建试图
Date :