设为首页 收藏本站
查看: 1163|回复: 0

[经验分享] 【mysql基础】08、常用的SQL语句

[复制链接]

尚未签到

发表于 2018-10-22 09:09:33 | 显示全部楼层 |阅读模式
  一、数据库及表的管理
  1、数据库
  创建:
  CREATE {DATABASE | SCHEMA} db_name;
  CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
  [[DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name];
  删除:
  DROP {DATABASE | SCHEMA} [IF EXISTS] db_name;
  修改:
  修改数据库的字符集和排序字符以及数据字典
  >
  [[DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name]
  升级某数据库的数据字典:
  ALTER {DATABASE | SCHEMA} db_name UPGRADE DATA DIRECTORY NAME;
  不能修改数据库名:
  查:
  SHOW DATABASES;
### 增  
MariaDB [(none)]> SHOW DATABASES;
  
+--------------------+
  
| Database           |
  
+--------------------+
  
| information_schema |
  
| mysql              |
  
| performance_schema |
  
| test               |
  
+--------------------+
  
4 rows in set (0.00 sec)
  

  
MariaDB [(none)]> CREATE DATABASE mydb;
  
Query OK, 1 row affected (0.00 sec)
  

  
MariaDB [(none)]> CREATE schema mydb1;
  
Query OK, 1 row affected (0.00 sec)
  

  
MariaDB [(none)]> SHOW DATABASES;
  
+--------------------+
  
| Database           |
  
+--------------------+
  
| information_schema |
  
| mydb               |
  
| mydb1              |
  
| mysql              |
  
| performance_schema |
  
| test               |
  
+--------------------+
  
6 rows in set (0.00 sec)
  

  
MariaDB [(none)]> CREATE DATABASE mydb;
  
ERROR 1007 (HY000): Can't create database 'mydb'; database exists
  

  
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS mydb;
  
Query OK, 0 rows affected, 1 warning (0.00 sec)
  

  
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS mydb2;
  
Query OK, 1 row affected (0.00 sec)
  

  
MariaDB [(none)]> SHOW DATABASES;
  
+--------------------+
  
| Database           |
  
+--------------------+
  
| information_schema |
  
| mydb               |
  
| mydb1              |
  
| mydb2              |
  
| mysql              |
  
| performance_schema |
  
| test               |
  
+--------------------+
  
7 rows in set (0.00 sec)
  

  
MariaDB [(none)]>
  

  
### 删
  
MariaDB [(none)]> DROP DATABASE mydb2;
  
Query OK, 0 rows affected (0.00 sec)
  

  
MariaDB [(none)]> DROP SCHEMA mydb1;
  
Query OK, 0 rows affected (0.00 sec)
  

  
MariaDB [(none)]> DROP SCHEMA mydb1;
  
ERROR 1008 (HY000): Can't drop database 'mydb1'; database doesn't exist
  
MariaDB [(none)]> DROP SCHEMA IF EXISTS mydb1;
  
Query OK, 0 rows affected, 1 warning (0.00 sec)
  

  
MariaDB [(none)]> DROP SCHEMA IF EXISTS mydb;
  
Query OK, 0 rows affected (0.00 sec)
  

  
MariaDB [(none)]> SHOW DATABASES;
  
+--------------------+
  
| Database           |
  
+--------------------+
  
| information_schema |
  
| mysql              |
  
| performance_schema |
  
| test               |
  
+--------------------+
  
4 rows in set (0.00 sec)
  

  
MariaDB [mydb]> STATUS
  
--------------
  
mysql  Ver 15.1 Distrib 10.1.21-MariaDB, for Linux (x86_64) using readline 5.1
  

  
Connection id:50
  
Current database:mydb
  
Current user:root@localhost
  
SSL:Not in use
  
Current pager:stdout
  
Using outfile:''
  
Using delimiter:;
  
Server:MariaDB
  
Server version:10.1.21-MariaDB Source distribution
  
Protocol version:10
  
Connection:Localhost via UNIX socket
  
Server characterset:utf8
  
Db     characterset:utf8
  
Client characterset:utf8
  
Conn.  characterset:utf8
  
UNIX socket:/tmp/mysql.sock
  
Uptime:23 hours 53 min 45 sec
  

  
Threads: 1  Questions: 174  Slow queries: 0  Opens: 22  Flush tables: 1  Open tables: 16  Queries per second avg: 0.002
  
--------------
  

  
MariaDB [mydb]> ALTER DATABASE mydb CHARACTER SET "gbk" COLLATE "gbk_chinese_ci";
  
Query OK, 1 row affected (0.00 sec)
  

  
MariaDB [mydb]> STATUS
  
--------------
  
mysql  Ver 15.1 Distrib 10.1.21-MariaDB, for Linux (x86_64) using readline 5.1
  

  
Connection id:50
  
Current database:mydb
  
Current user:root@localhost
  
SSL:Not in use
  
Current pager:stdout
  
Using outfile:''
  
Using delimiter:;
  
Server:MariaDB
  
Server version:10.1.21-MariaDB Source distribution
  
Protocol version:10
  
Connection:Localhost via UNIX socket
  
Server characterset:utf8
  
Db     characterset:gbk
  
Client characterset:utf8
  
Conn.  characterset:utf8
  
UNIX socket:/tmp/mysql.sock
  
Uptime:23 hours 58 min 1 sec
  

  
Threads: 1  Questions: 180  Slow queries: 0  Opens: 22  Flush tables: 1  Open tables: 16  Queries per second avg: 0.002
  2、表
  创建:
  CREATE [TEMPORARY(临时表,保存在内存中)] TABLE [IF NOT EXISTS] tbl_name
  (create_definition,...)     # 创建定义
  [table_options]          #表选项
  [partition_options]        # 分区选项 # 忽略,暂时用不到
  (create_definition,...):创建定义包含:
  字段的定义:字段名、类型和类型修饰符
  键、索引和约束:
  primary key,unique key,foreign key,check
  {index|key}
  注意:键本身就产生约束,键也可以拿来当索引用,但索引、约束未必是键,
  [table_options]
  ENGINE [=] engine_name
  AUTO_INCREMENT [=] value            指定AUTO_INCREMENT的起始值
  [DEFAULT] CHARACTER SET [=]          charset_name 指定默认字符集
  [DEFAULT] COLLATE [=] collation_name    排序规则
  CHECKSUM [=] {0 | 1}               是否校验表
  COMMENT [=] 'string'               表的注释信息
  DELAY_KEY_WRITE [=] {0 | 1}          是否启用键延迟写入,索引信息过会再创建
  ROW_FORMAT [=] {DEFAULT(默认)|DYNAMIC(动态)|FIXED(静态)|COMPRESSED(压缩)|REDUNDANT(冗余)|COMPACT(紧致)} 表格式
  TABLESPACE tablespace_name [STORAGE {DISK|MEMORY|DEFAULT}]   表空间
  存储引擎是表级别的概念也称为表类型,常用的有两种:
  MyISAM表,每个表有三个文件,都位于数据库目录中
  tb_name.frm:表结构定义文件
  tb_name.MYD:数据文件
  tb_name.MYI:索引文件
  InnoDB表,有两种存储方式
  1.默认:每表有一个独立文件和一个多表共享的文件
  tb_name.frm:表结构的定义,位于数据库目录中
  ibdataN:共享的表空间文件,默认位于数据目录(datadir指向的目录)中
  2.独立的表空间文件:
  每表有一个表结构文件tb_name.frm
  一个独立的表空间文件 tb_name.ibd
  要设置该方式,应该在配置文件中添加:innodb_file_per_table = ON
[root@Node5 mydata]# ls mydb/  
db.opt  t1.frm  t1.ibd  t2.frm  t2.MYD  t2.MYI
  表创建:第二种方式(复制表数据,不会复制表结构)
  CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
  [(create_definition,...)]
  [table_options]
  select_statement
  表创建:第三种方式(复制表结构)
  CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
  { LIKE old_tbl_name | (LIKE old_tbl_name) }
  
MariaDB [mydb]> CREATE TABLE t1 (Name VARCHAR(50) NOT NULL, Age TINYINT UNSIGNED NOT NULL,PRIMARY KEY(Name,Age));  
Query OK, 0 rows affected (0.62 sec)
  

  
MariaDB [mydb]> SHOW TABLES;
  
+----------------+
  
| Tables_in_mydb |
  
+----------------+
  
| t1             |
  
+----------------+
  
1 row in set (0.00 sec)
  

  
MariaDB [mydb]> DESC t1;
  
+-------+---------------------+------+-----+---------+-------+
  
| Field | Type                | Null | Key | Default | Extra |
  
+-------+---------------------+------+-----+---------+-------+
  
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
  
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
  
+-------+---------------------+------+-----+---------+-------+
  
2 rows in set (0.04 sec)
  

  
MariaDB [mydb]> SHOW TABLE STATUS\G
  
*************************** 1. row ***************************
  
           Name: t1
  
         Engine: InnoDB
  
        Version: 10
  
     Row_format: Compact
  
           Rows: 0
  
Avg_row_length: 0
  
    Data_length: 16384
  
Max_data_length: 0
  
   Index_length: 0
  
      Data_free: 0
  
Auto_increment: NULL
  
    Create_time: 2017-02-18 16:24:08
  
    Update_time: NULL
  
     Check_time: NULL
  
      Collation: gbk_chinese_ci
  
       Checksum: NULL
  
Create_options:
  
        Comment:
  
1 row in set (0.00 sec)
  

  
MariaDB [mydb]> CREATE TABLE t2 (Name VARCHAR(50) NOT NULL, Age TINYINT UNSIGNED NOT NULL,PRIMARY KEY(Name,Age)) ENGINE "myisam";
  
Query OK, 0 rows affected (0.02 sec)
  

  
MariaDB [mydb]> SHOW TABLE STATUS\G
  
*************************** 1. row ***************************
  
           Name: t1
  
         Engine: InnoDB
  
        Version: 10
  
     Row_format: Compact
  
           Rows: 0
  
Avg_row_length: 0
  
    Data_length: 16384
  
Max_data_length: 0
  
   Index_length: 0
  
      Data_free: 0
  
Auto_increment: NULL
  
    Create_time: 2017-02-18 16:24:08
  
    Update_time: NULL
  
     Check_time: NULL
  
      Collation: gbk_chinese_ci
  
       Checksum: NULL
  
Create_options:
  
        Comment:
  
*************************** 2. row ***************************
  
           Name: t2
  
         Engine: MyISAM
  
        Version: 10
  
     Row_format: Dynamic
  
           Rows: 0
  
Avg_row_length: 0
  
    Data_length: 0
  
Max_data_length: 281474976710655
  
   Index_length: 1024
  
      Data_free: 0
  
Auto_increment: NULL
  
    Create_time: 2017-02-18 16:30:50
  
    Update_time: 2017-02-18 16:30:50
  
     Check_time: NULL
  
      Collation: gbk_chinese_ci
  
       Checksum: NULL
  
Create_options:
  
        Comment:
  
2 rows in set (0.00 sec)
  

  
MariaDB [mydb]>
  删除:
  DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
  [RESTRICT | CASCADE]
  
  修改:
  ALTER TABLE tbl_name [alter_specification [,>
  修改字段定义:
  插入新字段:
  ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ]
  删除字段:
  DROP [COLUMN] col_name
  修改字段:
  修改字段名称:
  CHANGE [COLUMN] old_col_name new_col_name column_definition
  [FIRST|AFTER col_name]
  修改字段类型及属性等:
  MODIFY [COLUMN] col_name column_definition
  [FIRST | AFTER col_name]
  修改表名:
  RENAME [TO|AS] new_tb_name
  修改表名也可以直接使用RENAME修改:REANME TABLE old_tb_name TO new_tb_name;
  修改表选项:和创建表时的选项一样
  例如:修改存储引擎
  ENGINE = "engine_name"
  指定排序标准的字段:
  ORDER BY col_name [, col_name] ...
  转换字符集及排序规则:
  CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
  修改约束、键或索引:  # 查看帮助信息
  ADD {INDEX|KEY} [index_name]
  [index_type] (index_col_name,...) [index_option] ...
  DROP {INDEX|KEY} index_name
  查看索引信息:SHOW INDEXS FROM table_name;
MariaDB [mydb]> DESC t1;  
+-------+---------------------+------+-----+---------+-------+
  
| Field | Type                | Null | Key | Default | Extra |
  
+-------+---------------------+------+-----+---------+-------+
  
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
  
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
  
+-------+---------------------+------+-----+---------+-------+
  
2 rows in set (0.00 sec)
  

  
MariaDB [mydb]> ALTER TABLE t1 ADD ID INT UNSIGNED AUTO_INCREMENT;
  
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
  
MariaDB [mydb]> ALTER TABLE t1 ADD ID INT UNSIGNED;
  
Query OK, 0 rows affected (0.15 sec)
  
Records: 0  Duplicates: 0  Warnings: 0
  

  
MariaDB [mydb]> DESC t1;
  
+-------+---------------------+------+-----+---------+-------+
  
| Field | Type                | Null | Key | Default | Extra |
  
+-------+---------------------+------+-----+---------+-------+
  
| Name  | varchar(50)         | NO   | PRI | NULL    |       |
  
| Age   | tinyint(3) unsigned | NO   | PRI | NULL    |       |
  
| ID    | int(10) unsigned    | YES  |     | NULL    |       |
  
+-------+---------------------+------+-----+---------+-------+
  
3 rows in set (0.00 sec)
  

  
MariaDB [mydb]> ALTER TABLE t1 DROP ID;
  
Query OK, 0 rows affected (0.35 sec)
  
Records: 0  Duplicates: 0  Warnings: 0
  查:
  SHOW TABLES;
  DESC tb_name;
  
DSC0000.png

MariaDB [mydb]> CREATE TABLE ZY (ID TINYINT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25) NOT NULL, Age TINYINT, Gender ENUM("F","M") DEFAULT "M", Course VARCHAR(30));  
Query OK, 0 rows affected (0.09 sec)
  

  
MariaDB [mydb]> DESC ZY;
  
+--------+---------------+------+-----+---------+----------------+
  
| Field  | Type          | Null | Key | Default | Extra          |
  
+--------+---------------+------+-----+---------+----------------+
  
| ID     | tinyint(4)    | NO   | PRI | NULL    | auto_increment |
  
| Name   | varchar(25)   | NO   |     | NULL    |                |
  
| Age    | tinyint(4)    | YES  |     | NULL    |                |
  
| Gender | enum('F','M') | YES  |     | M       |                |
  
| Course | varchar(30)   | YES  |     | NULL    |                |
  
+--------+---------------+------+-----+---------+----------------+
  
5 rows in set (0.00 sec)
  

  
MariaDB [mydb]> INSERT INTO ZY VALUE (1,"Ling huchong", 24, "M", "Hamogong"),(2,"Huang RONG",19,"F","Chilian shenzhang");
  
Query OK, 2 rows affected (0.03 sec)
  
Records: 2  Duplicates: 0  Warnings: 0
  

  
MariaDB [mydb]> DESC ZY;
  
+--------+---------------+------+-----+---------+----------------+
  
| Field  | Type          | Null | Key | Default | Extra          |
  
+--------+---------------+------+-----+---------+----------------+
  
| ID     | tinyint(4)    | NO   | PRI | NULL    | auto_increment |
  
| Name   | varchar(25)   | NO   |     | NULL    |                |
  
| Age    | tinyint(4)    | YES  |     | NULL    |                |
  
| Gender | enum('F','M') | YES  |     | M       |                |
  
| Course | varchar(30)   | YES  |     | NULL    |                |
  
+--------+---------------+------+-----+---------+----------------+
  
5 rows in set (0.01 sec)
  

  
MariaDB [mydb]> SELECT * FROM ZY;
  
+----+--------------+------+--------+-------------------+
  
| ID | Name         | Age  | Gender | Course            |
  
+----+--------------+------+--------+-------------------+
  
|  1 | Ling huchong |   24 | M      | Hamogong          |
  
|  2 | Huang RONG   |   19 | F      | Chilian shenzhang |
  
+----+--------------+------+--------+-------------------+
  
2 rows in set (0.00 sec)
  

  
MariaDB [mydb]> ALTER TABLE ZY ADD Class VARCHAR(20) AFTER Name;
  
Query OK, 0 rows affected (0.92 sec)
  
Records: 0  Duplicates: 0  Warnings: 0
  

  
MariaDB [mydb]> ALTER TABLE ZY CHANGE ID TID INT UNSIGNED;
  
Query OK, 2 rows affected (0.20 sec)
  
Records: 2  Duplicates: 0  Warnings: 0
  

  
MariaDB [mydb]> ALTER TABLE ZY MODIFY Age TINYINT AFTER Course;
  
Query OK, 0 rows affected (1.51 sec)
  
Records: 0  Duplicates: 0  Warnings: 0
  

  
MariaDB [mydb]> DESC ZY;
  
+--------+---------------+------+-----+---------+-------+
  
| Field  | Type          | Null | Key | Default | Extra |
  
+--------+---------------+------+-----+---------+-------+
  
| TID    | int(11)       | NO   | PRI | NULL    |       |
  
| Name   | varchar(25)   | NO   |     | NULL    |       |
  
| Class  | varchar(20)   | YES  |     | NULL    |       |
  
| Gender | enum('F','M') | YES  |     | M       |       |
  
| Course | varchar(30)   | YES  |     | NULL    |       |
  
| Age    | tinyint(4)    | YES  |     | NULL    |       |
  
+--------+---------------+------+-----+---------+-------+
  
6 rows in set (0.00 sec)
  二、查询语句
  查询的执行路径:
DSC0001.png

  单表查询:简单查询
  多表查询:连接查询
  联合查询:
  1、单表查询
  选择和投影:
  投影:挑选要符合的字段
  选择:挑选符合条件的行
  投影:select 字段1,字段2,... from tb_name;
  selcet * from tb_name;
  选择:select 字段1,字段2,.... from tb_name
  [where子句(布尔条件表达式)]
  [ORDER BY 字段 {ASC(升序,默认)|DESC(降序)}]    # 将结果以什么方式排序
  [GROUP BY 字段]               # 将结果以什么字段分组
  [HAVING子句]         # 对分组结果进行过滤
  [LIMIT [N,N]];     # 只返回有限的行,偏移行数,取的行数
  布尔条件表达式操作符:
  =    等值比较
     等值比较,跟空值比较,不会产生额外信息
      不等值
  <
  
  >=
  IS NULL:是否为空
  IS NOT NULL:是否不空
  LIKE:支持的通配符%(任意长度的任意字符) _(任意单个字符)
  RLIKE,REGEXP:支持使用正则表达式作为条件,都只能用于字符串匹配,不能用于数值匹配
  IN:判断某行的某一字段的值是否在给定的列表中
  BETWEEN...AND....:判断指定的值是否位于指定的范围之间
  组合条件测试:
  NOT !
  AND &&
  OR ||
  聚合函数:
  SUM(),AVG(),MAX(),MIN(),COUNT(),
  所有选择的字段的和,平均值,最大值,最小值,个数
MariaDB [mydb]> SELECT * FROM ZY;  
+-----+--------------+-------+--------+-------------------+------+
  
| TID | Name         | Class | Gender | Course            | Age  |
  
+-----+--------------+-------+--------+-------------------+------+
  
|   1 | Ling huchong | NULL  | M      | Hamogong          |   24 |
  
|   2 | Huang RONG   | NULL  | F      | Chilian shenzhang |   19 |
  
+-----+--------------+-------+--------+-------------------+------+
  
2 rows in set (0.00 sec)
  

  
MariaDB [mydb]> SELECT * FROM ZY WHERE Age > 20;
  
+-----+--------------+-------+--------+----------+------+
  
| TID | Name         | Class | Gender | Course   | Age  |
  
+-----+--------------+-------+--------+----------+------+
  
|   1 | Ling huchong | NULL  | M      | Hamogong |   24 |
  
+-----+--------------+-------+--------+----------+------+
  
1 row in set (0.39 sec)
  

  
MariaDB [mydb]> SELECT Name,Gender FROM ZY WHERE Course like "H%";
  
+--------------+--------+
  
| Name         | Gender |
  
+--------------+--------+
  
| Ling huchong | M      |
  
+--------------+--------+
  
1 row in set (0.00 sec)
  

  
MariaDB [mydb]> SELECT * FROM ZY WHERE Age IN (18,20,22,24);
  
+-----+--------------+-------+--------+----------+------+
  
| TID | Name         | Class | Gender | Course   | Age  |
  
+-----+--------------+-------+--------+----------+------+
  
|   1 | Ling huchong | NULL  | M      | Hamogong |   24 |
  
+-----+--------------+-------+--------+----------+------+
  
1 row in set (0.00 sec)
  

  

  
MariaDB [mydb]> SELECT MAX(Age) FROM ZY;
  
+----------+
  
| MAX(Age) |
  
+----------+
  
|       24 |
  
+----------+
  
1 row in set (0.00 sec)
  

  
MariaDB [mydb]> SELECT MAX(Name) FROM ZY;
  
+--------------+
  
| MAX(Name)    |
  
+--------------+
  
| Ling huchong |
  
+--------------+
  
1 row in set (0.00 sec)
  

  
MariaDB [mydb]>
  

  
MariaDB [mydb]> SELECT Gender,SUM(Age) FROM ZY GROUP BY Gender;
  
+--------+----------+
  
| Gender | SUM(Age) |
  
+--------+----------+
  
| F      |       19 |
  
| M      |       24 |
  
+--------+----------+
  
2 rows in set (0.00 sec)
  

  
MariaDB [mydb]>
  SELECT语句的执行流程;
  FROM clause --> WHERE clause --> GROUP BY --> HAVING clause --> 0RDER BY --> SELECT --> LIMIT
  select常用修饰符:
  DISTINCT     重复的只显示一次
  SQL_CACHE    缓存于查询缓存中
  SQL_NO_CACHE  不缓存查询结果
  2、多表查询
  联结查询:事先将两张或者多张表join,根据join的结果进行查询
  交叉联结(cross join):交叉相乘(a+b)(c+d+e)

  例:SELECT * FROM students,>  内联结(自然联结):
  等值联结:把相同的字段进行等值连接

  例:SELECT * FROM students,>  条件联结:# 用的很少
  外联结:
  左外联接:只保留出现在左外连接运算之前(左边)的关系中的元组(记录)(以左表为准)
  left_tb LEFT JOIN right_tb ON 条件

  例:SELECT s.Name,c.Class FROM students AS s LEFT JOIN>  右外联接:只保留出现在右外连接元算之后(右边)的关系中的元组(以右表为准)
  left_tb RIGHT JOIN right_tb ON 条件

  例:SELECT s.Name,c.Class FROM students AS s RIGHT JOIN>  全外联接:
  自联结:
  别名:AS
  表别名:

  例:SELECT s.Name, c.Class FROM students AS s,>  字段别名:
  例:SELECT Name AS StuName FROM students;
  3、子查询
  子查询:在查询中嵌套的查询
  用于WHERE中的子查询
  1.用于比较表达式中的子查询
  子查询的返回值只能有一个
  2.用于EXISTS中的子查询
  判断存在与否
  3.用于IN中的子查询
  判断存在于指定列表中
  用于FROM中子查询
  select alias.col,....FROM(SELECT CLUSE) alias WHERE condition
  MYSQL不擅长于子查询,应该避免使用子查询
  4、MYSQL的联合查询
  把两个或多个查询语句的结果合并成一个结果进行输出
  select clauase union select clause union.....;
  5、索引
  show indexs from tb_name; 查看索引
  alter table tb_name add index 字段;创建索引
  explain 解释命令,查看命令的执行过程
  6、视图(虚表)
  存储下来的select语句
  创建:
  create view 视图名 as select语句;
  删除:
  drop view 视图名;
  三、INSERT/REPLACE、UPDATE、DELETE
  1、INSERT
  第一种:
  INSERT [INTO] tb_name [(col1,col2,....)]{VALUES|VALUE} (val1,val2,...)...;
  第二种:
  INSERT [INTO] tb_name SET col_name=val1,col2=val2,....;
  第三种(将一个表中的数据插入到另外一张表中):
  INSERT [INTO] tb_name select clause;
  2、REPLACE
  replace替换表中数据,用法同insert,除了在新插入的数据与表中的主键或唯一索引定义的数据相同会替换老的行
  3、UPDATE
  UPDATE [LOW_PRIORITY] [IGNORE] table_reference  # 表引用,UPDATE也可以更新视图
  SET col_name1=val1 [, col_name2={val2] ...
  [WHERE where_condition]
  [ORDER BY ...]
  [LIMIT row_count]  # 一般先排序再限定行数
  update通常情况下,必须要使用where字句,或者使用limit限制要修改的行数
  --safe-updates:启动时应该带选项,忘记使用WHERE或LIMIT子句则拒绝使用
  5、DELETE
  DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
  [WHERE where_condition]
  [ORDER BY ...]
  [LIMIT row_count]
  TRUNCATE tb_name; 重置表的所有内容



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-624774-1-1.html 上篇帖子: 解决【Unable to make the session state request to the session state server】 下篇帖子: DB2中常用sql语句语法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表