美文网首页
MySQL语法

MySQL语法

作者: 忘记_3a6a | 来源:发表于2020-03-10 15:02 被阅读0次
  • 语法规范:
    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();

相关文章

网友评论

      本文标题:MySQL语法

      本文链接:https://www.haomeiwen.com/subject/atbwdhtx.html