- 语法规范:
1.关键字与函数名称全部大写
2.数据库名称,表名称,字段名称全部小写
3.SQL语句必须以分号结尾
打开:net start mysql
关闭:net stop mysql
退出:exit;quit;\q;
修改结束符号:DELIMITER //
mysql提示符:
\d:完整的日期
\D:当前数据库
\h:服务器名称
\u:当前用户
显示当前服务器版本号:SELECT VERSION();
显示当前日期时间:SELECT NOW();
显示当前用户:SELECT USER();
-
查看当前服务器下的数据库列表:
SHOW {DATABASES | SCHEMAS} [LIKE 'pattern' | WHERE exper]
-
创建数据库:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS(如果数据库已存在,仍可创建,报警告错误)] db_name [DEFAULT] CHARACTER SET(编码格式utf8/gbk) [=] charset_name
-
修改数据库:
ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACTER SET [=] charset_name
-
删除数据库:
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
-
打开数据库:
USE test;
-
列级约束:
自增编号:AUTO_INCREMENT
主键:PRIMARY KEY
唯一约束:UNIQUE KEY
非空约束:NOT NULL
默认约束:DEFAULT
表级约束:(一对一,一对多,多对多,多对一)
外键约束:FOREIGN KEY REFERENCES
cross join ,left join ,right join ,inner join -
创建数据表:
CREATE TABLE [IF NOT EXISTS] table_name( column_name data_type, .... );
-
查看数据表是否在:
SHOW TABLES [FROM db_name] [LIKE 'pattern'| WHERE expr]
-
查看表结构:
SHOW COLUMNS FROM table_name;
-
插入记录:
INSERT [INTO] table_name [(col_name,...)] VALUES(val,...)
-
查询记录:
SELECT expr,.... FROM table_name
修改数据表:
- 添加单列:
ALTER TABLE table_name
ADD [COLUMN] col_name column_definition(类型)
[FIRST | AFTER col_name(在那列之后)]
- 添加多列:
ALTER TABLE tbl_name ADD[COLUMN] (col_name column_definition,....)
- 删除单列:
ALTER TABLE table_name DROP [COLUMN] col_name
- 删除多列:
ALTER TABLE table_name DROP [COLUMN] col_name,DROP [COLUMN] col_name,....
- 查看约束:
SHOW INDEXES FROM table_name;
- 添加主键约束:
ALTER TABLE table_name
ADD [CONSTRAINT[SYSMBOL]] (类型)
PRIMARY KEY[index_type](index_col_name)(谁是主键,主键名)
-
删除主键约束:
ALTER TABLE tbl_name DROP PRIMERY KEY
-
添加唯一约束:
ALTER TABLE table_name
ADD [CONSTRAINT[SYSMBOL]] (类型)
UNIQUE [INDEX|KEY][index_name][index_type]
(index_col_name,...)
-
删除唯一约束:
ALTER TABLE tbl_name DROP {INDEX | KEY} index_name
-
添加外键约束:
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]]
FOREIGN KEY [index_name] (index_col_name,...)
reference_definition
- 删除外键约束:
ALTER TABLE table_name DROP FOREIGN KEU fk_symbol
- 添加默认约束:
ALTER TABLE table_name
ALTER [COLUMN] col_name
{SET DEFAULT literal | DROP DEFAULT}
- 修改列定义:
ALTER TABLE tbl_name
MODIFY COLUMN col_name column_definition(数据类型)
[FIRST | AFTER col_name]
- 修改列名称:
ALTER TABLE table_name
CHANGE [COLUMN] old_col_name
new_col_name column_definition
[FIRST | AFTER col_name]
- 数据表更名:
- 方法一:
ALTER TABLE tbl_name RENAME [TO | AS] new_tbl_name
- 方法二:
- 方法一:
RENAME TABLE table_name TO new_table_name
[,tbl_name2 TO new_table_name2]...
记录操作
插入记录:
方法一:
INSERT [INTO] table_name [(col_name,..)]
{VALUES | VALUE} ({expr|DEFAULT},..),(..)..
方法二:
INSERT [INTO] table_name SET col_name={expr | DEFAULT},...
方法三:
INSERT [INTO] table_name [(col_name,...)] SELECT...
更新记录:
- 方法一:单表更新
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1 | DEFAULT}
[,col_name2={expr2|DEFAULT}]...
[WHERE where_condition]
- 方法二:多表更新
UPDATE table_reference
SET col_name1={expr1 | DEFAULT}
[,col_name2={expr2 | DEFAULT}]....
[WHERE where_codition]
删除记录:
- 方法一:单表删除
DELETE FROM table_name [WHERE where_condition]
- 方法二:多表删除
DELETE table_name [.*][,table_name[.*]]...
FROM table_references
[WHERE where_condition]
查询记录:
SELECT select_expr[,select_expr...]
[
FROM table_references
[WHERE where_condition]
[GROUP BY {col_name| position} [ASC | DESC],....]
[HAVING where_condition]
[ORFER BY {col_name | expr|position} [ASC | DESC],...]
[LIMIT {[offset,]row_count | row_count OFFSET offset}]
]
- 表连接:
table_reference
{[INNER | CROSS]JOIN | {LEFT | RIGHT} [OUTER] JOIN}
table_reference
ON conditional_expr
CREATE...SELECT
- 创建数据表同时将查询结果写入到数据表
CREATE TABLE [IF NOT EXISTS] table_name
[(create_definition),..]
select_statement
字符函数
- CONCAT('','',..) 字符拼接
- CONCAT_WS('符号','','') 使用指定的分隔符进行字符连接
- FORMAT(数字,位数) 数字格式化
- LOWER() 转换成小写字母
- UPPER() 转换成大写字母
- LEFT('字符',前几位) 获取左侧字符
- RIGHT('字符',后几位) 获取右侧字符
- LENGTH() 获取字符长度
- LTRIM() 删除前导空格
- RTRIM() 删除后续空格
- TRIM() 删除前导和后续空格
- TRIM(LEADING '' FROM '') 删除前导的某个字符
- TRIM(TRAIING '' FROM '') 删除后导的某个字符
- TRIM(BOTH '' FROM '') 删除两侧的某个字符
- SUBSTRING('字符串',起始位,结束位)字符串截取
- [NOT] LIKE 模式匹配
- PEPLACE('字符串','被替换字符','替换为') 字符串替换
数值运算符与函数
-
CEIL() 进一取十
-
DIV 整数除法
-
FLOOR() 舍一取整
-
MOD 取余数(取模)
-
POWER() 幂运算
-
ROUND() 四舍五入
-
TRUNCATE() 数字截取
-
[NOT] BETWEEN...AND... 在范围之内
-
[NOT] IN() 在列出值范围内
-
IS [NOT] NULL 为空
日期时间函数
NOW() 当前日期和时间
CURDATE() 当前日期
CURTIME() 当前时间
DATE_ADD('日期',interval 数值 DAY|YEAR|WEEK|) 日期变化
DATEDIFF('日期','日期') 日期差值
DATE_FORMAT('日期','%m%d%y') 日期格式
信息函数
COUNNECTION_ID 连接ID
DATEBASE() 当前数据库
LAST_INSERT_ID() 最后插入记录的ID号
USER() 当前用户
VARSION() 版本信息
聚合函数
AVG() 平均値
COUNT() 总数
MAX() 最大值
MIN() 最小值
SUM() 求和
加密函数
MD5() 信息摘要算法(Web页面)
PASSWORD() 密码算法(修改当前用户密码)
自定义函数
创建自定义函数
CREATE FUNCTION function_name()
RETURNS
{STRUNG|INTEGER|DEAL|DECIMAL}(返回值类型)
routine_body(函数体)
调用函数:
SELECT function_name()
删除函数:
DROP FUNCTION [IF EXISTS] function_name
创建存储过程:
CREATE
[DEFINER={user|CURRENT_USER}](默认用户)
PROCEDURE sp_name ([proc_parameter[,....]])
[characteristic...]routine_body
proc_parameter:
[IN|OUT|INOUT] param_name type UNSIGEND,..
调用:
CALL sp_name();
删除存储过程:
DROP PROCEDURE [IF EXISTS] sp_name
声明变量:
SET @i=7;
得到行数:
SELECT ROW_COUNT();
网友评论