MySQL常用语句汇总

一、库操作

1、创建数据库,创建时可以指定字符集和排序规则

CREATE DATABASE [IF NOT EXISTS] db_name
  [create_specification] ...
create_specification:
  [DEFAULT] CHARACTER SET [=] charset_name
  [DEFAULT] COLLATE [=] collation_name

2、删除数据库

DROPDATABASE [IF EXISTS] db_name;

3、修改数据库字符集合排序规则,如果是Innodb存储引擎还可以通过修改数据库目录中的.opt文件

ALTER DATABASE db_name
  [DEFAULT] CHARACTER SET [=] charset_name
  [DEFAULT] COLLATE [=] collation_name
#查看数据库支持的字符集和排序规则
SHOW CHARACTER SET;
SHOW COLLATION;
 

二、表操作

1、创建表

1、直接创建一张空表
CREATE TABLE [IF NOT EXISTS] tbl_name
  (create_definition,...)
  [table_options]
  [partition_options]
2、从另一张表查询数据并创建新表,不会保存原有表结构
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
  [(create_definition,...)]
  [table_options]
  [partition_options]
   select_statement
3、以另一张表为模板并创建一张新表
CREATE TABLE [IF NOT EXISTS] tbl_name LIKE old_tbl_name;

2、修改表

ALTER TABLE tbl_name
  [alter_specification [, alter_specification] ...]
  [partition_options]
1、添加字段
ADD col_name column_definition [FIRST | AFTER col_name];
2、删除字段
DROP  col_name;
3、修改字段
MODIFY col_name column_definition;  #只能修改字段定义
CHANGE old_col_name new_col_name column_definition;  #可以修改字段名
4、添加索引或键
ADD {INDEX | KEY} [index_name] [index_type] (index_col_name,...) [index_option] ...
5、删除索引或键
DROP {INDEX | KEY} index_name;
6、删除主键
DROP PRIMARY KEY;
7、修改表名
RENAME [TO | AS] new_tbl_name;
8、创建外键
ADD FOREIGN KEY [index_name] (index_col_name,...) reference_definition;

3、删除表

DROP TABLE [IF EXISTS] tbl_name;

三、DML语句

1、SELECT

1、简单查询

SELECT field1,firld2... FROM tb_name; 投影
SELECT * FROM tb_name WHERE where_condition; 选择
/*
WHERE过滤支持的操作符:
    1、条件表达式 + - * / %
    2、逻辑关系 AND OR NOT
    3、正则表达式 REGP| RLIKE
    4、特殊操作符
        BETWEEN... AND... 两个条件之间
        LIKE %string% 匹配字符串
            _匹配任意单个字符串
            %匹配任意长度字符串
        IN 成员关系测试
        NOT IN
        IS NULL 空值测试
        IS NOT NULL 非空测试
 */

2、子句

1、ORDER BY子句基于一个或多个列按升序或降序顺序排列数据
    ORDER BY column1, column2, .. {ASC(升序)|DESC(降序)}
    SELECT * FROM ORDER BY field_name;

2、LIMIT子句用于限制由SELECT语句返回的数据数量
    LIMIE [offset]count;
    SELECT * FROM COMPANY LIMIT 5;
    SELECT * FROM COMPANY LIMIT 2, 3;

3、聚合函数
    SUM() 求和
    MIN() 最小值
    MAX() 最大值
    AVG() 平均数
    COUNT() 次数

4、GROUP BY子句用于对相同的数据进行分组,GROUP BY子句必须放在WHERE子句中的条件之后,必须放在ORDER BY子句之前
    GROUP BY column1, column2...;
    SELECT field1, SUM(field2) FROM tb_name GROUP BY field2;

5、HAVING子句用于由 GROUP BY子句创建的分组上设置条件
    支持操作符和WHERE子句一样

6、字段别名、表别名
    SELECT field1 AS new_field_name FROM tb_name AS new_tb_name;

3、联合查询

1、... LEFT JOIN ....ON ...  左连接
2、... RIGHT JOIN ... ON ... 右连接
3、UNION 联合查询
4、FROM tb1, tb2 WHERE xxx
5、FROM (select_statement) 子查询

2、INSERT

1、INSERT INTO tb_name(col1, col2...) VALUES (value1, value2... ), ();
2、INSERT INTO tbname SET col1=value1, col2=value2...;
3、INSERT INTO tb_name (select_statement);

3、UPDATE

UPDATE tb_name SET col=value1, col=value2... WHERE ...;一定要跟WHERE条件,负责会修改全表的内容
 

4、DELETE

DELETE FROM tb_name WHERE ...;
一定要跟WHERE条件,负责会清空表
使用DELETE清空表后,AUTO_INCREMENT计数器不会清零,若是要清空表使用TRUNCATE tb_name;

5、VIEW

1、CREATE VIEW view_name AS select_statement;
2、DROP VIEW view_name;

四、数据类型

数值
  整数
    TINYINT 1字节,取值-128 - 127 | 0 - 255
    SMALLINT 2字节,取值-32768 - 32767 | 0 - 65535
    MEDIUMINT 3字节,取值-8388608 - 8388607 | 0 - 16777215
    INT | INTEGER 4个字节,取值-2147483648 - 2147483647 | 0 - 4294967295
    BIGINT 8个字节,取值-9233372036854775808 – 9223372036854775807 | 0 - 18446744073709551615
  浮点数
    FLOAT 4字节,单精度
    DOUBLE 8字节,双精度
    DECIMAL 对DECIMAL(M,D)如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 精确小数值

字符
    CHAR() 0-255字节 定长字符串
    VARCHAR() 0-255字节 变长字符串
    BINARY() 定长二进制字符串
    VARBINARY() 变长二进制字符串
文本对象
    TINYTEXT 0-255字节 短文本字符串
    TEXT 0-65535字节 长文本数据
    MEDIUMTEXT 0-16777215字节 中等长度文本数据
    LONGTEXT 0-4294967295字节 极大文本数据
    TINYBLOB 0-255字节 不超过255个字符的二进制字符串
    BLOB 0-65535字节 二进制形式的长文本数据
    MEDIUMBLOB 0-16777215字节 二进制形式的中等长度文本数据
    LOGNGBLOB 0-4294967295字节 二进制形式的极大文本数据

日期时间
    DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
    TIME 3 ‘-838:59:59‘/‘838:59:59‘ HH:MM:SS 时间值或持续时间
    YEAR 1 1901/2155 YYYY 年份值
    DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
    TIMESTAMP 8 1970-01-01 00:00:00/2037 年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

其他
    ENUM ENUM类型在系统内部可以存储为数字,并且从1开始用数字做索引。一个ENUM类型最多可以包含65536个元素,其中一个元素被MySQL保留,用来存储错误信息,这个错误值用索引0或者一个空字符串表示。
    SET 一个SET类型最多可以包含64项元素。在SET元素中值被存储为一个分离的“位”序列,这些“位”表示与它相对应的元素。“位”是创建有序元素集合的一种简单而有效的方式。并且它还去除了重复的元素,所以SET类型中不可能包含两个相同的元素。
 

五、约束修饰符

1、NOT NULL 不能为空
2、UNSIGNED 无符号
3、DEFAULT 为字段自定一个默认值
4、PRIMARY KEY 主键
5、UNIQUE KEY 唯一键
6、FORIGEN KEY 外键
7、AUTO_INCREMENT 自动递增
时间: 2024-10-13 02:33:30

MySQL常用语句汇总的相关文章

7 mysql常用语句汇总

mysqld 常规MySQL服务器mysqld-opt 优化mysql服务器,提供一些功能可以挖掘更好的功能mysqld-max 与mysqld一样,但可以支持更新,更具实验性质的功能(更不稳定) ++安装mysql参见自带的INSTALL-SOURCE文件$ ./configure ?prefix=/app/mysql-5.0.51a ?with-charset=utf8 ?with-extra-charsets=utf8,gb2312,utf8 ++启动/关闭mysql$ path/mysq

Mysql常用基本命令汇总及默认账户权限与修改

一直只是在浅显利用数据库存储数据,也被windows惯坏了,很多命令使用的时候记不起来,so,换LINUX系统!不再使用GUI管理数据库!也想深入学习下Mysql,从权限管理开始!也就诞生了这篇学习笔记. 修改默认密码 Mysql新安装时默认root密码为空,极不安全!建议安装过后马上就修改.附修改方法: mysqladmin -u root -p password 接下来按提示输入新密码即可! 命令详解: mysqladmin -u root -p[oldpass] password newp

MySQL 常用语句大全

MySQL 常用语句大全 一.连接 MySQL 格式: mysql -h 主机地址 -u 用户名 -p 用户密码 1.例 1:连接到本机上的 MYSQL. 首先在打开 DOS 窗口,然后进入目录 mysql bin,再键入命令 mysql -uroot -p,回 车后提示你输密码,如果刚安装好 MYSQL,超级用户 root 是没有密码的,故直接回车即 可进入到 MYSQL 中了,MYSQL 的提示符是: mysql>. 2.例 2:连接到远程主机上的 MYSQL.假设远程主机的 IP 为:11

Mysql常用语句总结

对MySql经常使用语句的详细总结 下面总结的知识点全是经常用的,全都是干货,好好收藏吧./* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW

[基础学习]MySQL常用语句命令总结

前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来说,MySQL可以很完美地支持了. 很多时候我们都是借助mysql可视化工具操作mysql,虽然说是比较方便,但是记住一些常用的命令还是有必要的. 我们来总结一下,一些平时比较常用的语句命令: 1.更改root密码 mysqladmin -uroot password 'new_password' 2.登录MySQL服务器 mysql -h120.0.0.1 -uroot -p*** -p3

MYSQL 常用语句与函数命令

进图数据库mysql –u root –p 输入密码后进入 查看数据库: show databases; 进入数据库:use dvwa; 查看该数据库的表:show tables; 查操作: select * from users; 查看表中的的列 select user from users; 查看users表中user这列的信息 select * from users where user=’admin’ ;查看users表中user=admin的所有信息 增操作: Insert into

mysql常用语句2

很多mysql语句用的时候想不起来,现在用个简单的例子记着. /*SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.1.49-community **********************************************************************//*!40101 SET NAMES utf8 */; create table `t_student` (`id` double ,`stuName` varchar (60),`a

mysql常用语句1

很多mysql语句用的时候想不起来,现在用个简单的例子记着. /*SQLyog Ultimate v11.33 (64 bit)MySQL - 5.1.49-community : Database - db_book**********************************************************************/ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET

mysql常用语句、命令(增删改查功能)

修改数据库的字符集    mysql>use mydb    mysql>alter database mydb character set utf8;创建数据库指定数据库的字符集    mysql>create database mydb character set utf8; 查看database的字符集! show variables like 'collation_%';show variables like 'character_set_%'; 一.系统操作 1. 打开服务:n