1. 13.1. 数据定义语句
  2.  
  3. 13.1.1. ALTER DATABASE语法
  4. 13.1.2. ALTER TABLE语法
  5. 13.1.3. CREATE DATABASE语法
  6. 13.1.4. CREATE INDEX语法
  7. 13.1.5. CREATE TABLE语法
  8. 13.1.6. DROP DATABASE语法
  9. 13.1.7. DROP INDEX语法
  10. 13.1.8. DROP TABLE语法
  11. 13.1.9. RENAME TABLE语法
  12.  
  13. 13.2. 数据操作语句
  14.  
  15. 13.2.1. DELETE语法
  16. 13.2.2. DO语法
  17. 13.2.3. HANDLER语法
  18. 13.2.4. INSERT语法
  19. 13.2.5. LOAD DATA INFILE语法
  20. 13.2.6. REPLACE语法
  21. 13.2.7. SELECT语法
  22. 13.2.8. Subquery语法
  23. 13.2.9. TRUNCATE语法
  24. 13.2.10. UPDATE语法
  25.  
  26. 13.3. MySQL实用工具语句
  27.  
  28. 13.3.1. DESCRIBE语法(获取有关列的信息)
  29. 13.3.2. USE语法
  30.  
  31. 13.4. MySQL事务处理和锁定语句
  32.  
  33. 13.4.1. START TRANSACTION, COMMITROLLBACK语法
  34. 13.4.2. 不能回滚的语句
  35. 13.4.3. 会造成隐式提交的语句
  36. 13.4.4. SAVEPOINTROLLBACK TO SAVEPOINT语法
  37. 13.4.5. LOCK TABLESUNLOCK TABLES语法
  38. 13.4.6. SET TRANSACTION语法
  39. 13.4.7. XA事务
  40.  
  41. 13.5. 数据库管理语句
  42.  
  43. 13.5.1. 账户管理语句
  44. 13.5.2. 表维护语句
  45. 13.5.3. SET语法
  46. 13.5.4. SHOW语法
  47. 13.5.5. 其它管理语句
  48.  
  49. 13.6. 复制语句
  50.  
  51. 13.6.1. 用于控制主服务器的SQL语句
  52. 13.6.2. 用于控制从服务器的SQL语句
  53.  
  54. 13.7. 用于预处理语句的SQL语法
  55.  
  56. ==============================================================================================
  57. alter database //用于更改数据库的全局特性
  58. alter table //用于更改原有表的结构
  59. //您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型
  60.  
  61. mysql> alter table shop add insert_string char(5); //给表添加列
  62. Query OK, 0 rows affected (0.95 sec)
  63. Records: 0 Duplicates: 0 Warnings: 0
  64.  
  65. mysql> describe shop; //查看表结构
  66. +---------------+--------------------------+------+-----+---------+-------+
  67. | Field | Type | Null | Key | Default | Extra |
  68. +---------------+--------------------------+------+-----+---------+-------+
  69. | article | int(4) unsigned zerofill | NO | PRI | 0000 | |
  70. | dealer | char(20) | NO | PRI | | |
  71. | price | double(16,2) | NO | | 0.00 | |
  72. | column_name | char(4) | YES | | NULL | |
  73. | insert_string | char(5) | YES | | NULL | |
  74. +---------------+--------------------------+------+-----+---------+-------+
  75. 5 rows in set (0.00 sec)
  76.  
  77. mysql> alter table shop drop column column_name; //删除指定列/字段
  78. Query OK, 0 rows affected (1.01 sec)
  79. Records: 0 Duplicates: 0 Warnings: 0
  80.  
  81. mysql> describe shop;
  82. +---------------+--------------------------+------+-----+---------+-------+
  83. | Field | Type | Null | Key | Default | Extra |
  84. +---------------+--------------------------+------+-----+---------+-------+
  85. | article | int(4) unsigned zerofill | NO | PRI | 0000 | |
  86. | dealer | char(20) | NO | PRI | | |
  87. | price | double(16,2) | NO | | 0.00 | |
  88. | insert_string | char(5) | YES | | NULL | |
  89. +---------------+--------------------------+------+-----+---------+-------+
  90. 4 rows in set (0.00 sec)
  91.  
  92. //modify
  93. mysql> alter table shop modify column insert_string int(4) unsigned zerofill; //改变表的字段数据类型
  94. Query OK, 7 rows affected (1.14 sec)
  95. Records: 7 Duplicates: 0 Warnings: 0
  96.  
  97. mysql> describe shop;
  98. +---------------+--------------------------+------+-----+---------+-------+
  99. | Field | Type | Null | Key | Default | Extra |
  100. +---------------+--------------------------+------+-----+---------+-------+
  101. | article | int(4) unsigned zerofill | NO | PRI | 0000 | |
  102. | dealer | char(20) | NO | PRI | | |
  103. | price | double(16,2) | NO | | 0.00 | |
  104. | insert_string | int(4) unsigned zerofill | YES | | NULL | |
  105. +---------------+--------------------------+------+-----+---------+-------+
  106. 4 rows in set (0.00 sec)
  107.  
  108. mysql> show tables; //对表重命名
  109. +----------------+
  110. | Tables_in_test |
  111. +----------------+
  112. | animals |
  113. | event |
  114. | pet |
  115. | shop |
  116. | t1 |
  117. +----------------+
  118. 5 rows in set (0.00 sec)
  119.  
  120. mysql> alter table t1 rename t2; //alter table t1 rename t2对表重命名
  121. Query OK, 0 rows affected (0.45 sec)
  122.  
  123. mysql> show tables;
  124. +----------------+
  125. | Tables_in_test |
  126. +----------------+
  127. | animals |
  128. | event |
  129. | pet |
  130. | shop |
  131. | t2 |
  132. +----------------+
  133. 5 rows in set (0.02 sec)
  134.  
  135. mysql> alter table t2 add index (d) , add index (a); //在列d和列a中添加索引
  136. Query OK, 0 rows affected (0.81 sec)
  137. Records: 0 Duplicates: 0 Warnings: 0
  138.  
  139. mysql> describe t2;
  140. +-------+--------------------------+------+-----+-------------------+-----------------------------+
  141. | Field | Type | Null | Key | Default | Extra |
  142. +-------+--------------------------+------+-----+-------------------+-----------------------------+
  143. | year | year(4) | YES | | NULL | |
  144. | month | int(2) unsigned zerofill | YES | | NULL | |
  145. | day | int(2) unsigned zerofill | YES | | NULL | |
  146. | d | timestamp | NO | MUL | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
  147. | a | char(4) | YES | MUL | NULL | |
  148. +-------+--------------------------+------+-----+-------------------+-----------------------------+
  149. 5 rows in set (0.00 sec)
  150.  
  151. //添加一个新的AUTO_INCREMENT整数列,名称为c
  152. //给数据加序号
  153. mysql> alter table t2 add c int unsigned not null auto_increment,
  154. -> add primary key(c);
  155. Query OK, 0 rows affected (1.12 sec)
  156. Records: 0 Duplicates: 0 Warnings: 0
  157.  
  158. mysql> describe t2;
  159. +-------+--------------------------+------+-----+-------------------+-----------------------------+
  160. | Field | Type | Null | Key | Default | Extra |
  161. +-------+--------------------------+------+-----+-------------------+-----------------------------+
  162. | year | year(4) | YES | | NULL | |
  163. | month | int(2) unsigned zerofill | YES | | NULL | |
  164. | day | int(2) unsigned zerofill | YES | | NULL | |
  165. | d | timestamp | NO | MUL | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
  166. | a | char(4) | YES | MUL | NULL | |
  167. | c | int(10) unsigned | NO | PRI | NULL | auto_increment |
  168. +-------+--------------------------+------+-----+-------------------+-----------------------------+
  169. 6 rows in set (0.00 sec)
  170.  
  171. //CREATE DATABASE用于创建数据库,并进行命名。
  172. //如果要使用CREATE DATABASE,您需要获得数据库CREATE权限
  173.  
  174. //type:
  175. TINYINT[(length)] [UNSIGNED] [ZEROFILL]
  176.  
  177. | SMALLINT[(length)] [UNSIGNED] [ZEROFILL]
  178.  
  179. | MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL]
  180.  
  181. | INT[(length)] [UNSIGNED] [ZEROFILL]
  182.  
  183. | INTEGER[(length)] [UNSIGNED] [ZEROFILL]
  184.  
  185. | BIGINT[(length)] [UNSIGNED] [ZEROFILL]
  186.  
  187. | REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
  188.  
  189. | DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
  190.  
  191. | FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
  192.  
  193. | DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
  194.  
  195. | NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]
  196.  
  197. | DATE
  198.  
  199. | TIME
  200.  
  201. | TIMESTAMP
  202.  
  203. | DATETIME
  204.  
  205. | CHAR(length) [BINARY | ASCII | UNICODE]
  206.  
  207. | VARCHAR(length) [BINARY]
  208.  
  209. | TINYBLOB
  210.  
  211. | BLOB
  212.  
  213. | MEDIUMBLOB
  214.  
  215. | LONGBLOB
  216.  
  217. | TINYTEXT [BINARY]
  218.  
  219. | TEXT [BINARY]
  220.  
  221. | MEDIUMTEXT [BINARY]
  222.  
  223. | LONGTEXT [BINARY]
  224.  
  225. | ENUM(value1,value2,value3,...)
  226.  
  227. | SET(value1,value2,value3,...)
  228.  
  229. // DROP 语法
  230.  
  231. mysql> drop table animals; //删除表
  232. Query OK, 0 rows affected (0.50 sec)
  233.  
  234. DROP DATABASE database_name //删除数据库
  235. truncate table table_nam //清空表中数据,表不删除
  236.  
  237. //RENAME TABLE语法
  238. mysql> rename table t2 to t1; //对表重命名
  239. Query OK, 0 rows affected (0.18 sec)
  240.  
  241. //delete 语句
  242.  
  243. mysql> select * from t1;
  244. +------+-------+------+---------------------+------+---+
  245. | year | month | day | d | a | c |
  246. +------+-------+------+---------------------+------+---+
  247. | 2000 | 01 | 01 | 2016-11-05 12:14:53 | NULL | 1 |
  248. | 2000 | 02 | 20 | 2016-11-05 12:14:53 | NULL | 2 |
  249. | 2000 | 01 | 30 | 2016-11-05 12:14:53 | NULL | 3 |
  250. | 2000 | 02 | 02 | 2016-11-05 12:14:53 | NULL | 4 |
  251. | 2000 | 02 | 23 | 2016-11-05 12:14:53 | NULL | 5 |
  252. | 2000 | 02 | 23 | 2016-11-05 12:14:53 | NULL | 6 |
  253. +------+-------+------+---------------------+------+---+
  254. 6 rows in set (0.00 sec)
  255.  
  256. mysql> delete from t1 where c=6; //从t1表中删除c=6的数据
  257. Query OK, 1 row affected (0.42 sec)
  258.  
  259. mysql> select * from t1;
  260. +------+-------+------+---------------------+------+---+
  261. | year | month | day | d | a | c |
  262. +------+-------+------+---------------------+------+---+
  263. | 2000 | 01 | 01 | 2016-11-05 12:14:53 | NULL | 1 |
  264. | 2000 | 02 | 20 | 2016-11-05 12:14:53 | NULL | 2 |
  265. | 2000 | 01 | 30 | 2016-11-05 12:14:53 | NULL | 3 |
  266. | 2000 | 02 | 02 | 2016-11-05 12:14:53 | NULL | 4 |
  267. | 2000 | 02 | 23 | 2016-11-05 12:14:53 | NULL | 5 |
  268. +------+-------+------+---------------------+------+---+
  269. 5 rows in set (0.00 sec)
  270.  
  271. //replace 语法
  272. mysql> update t1 set day=replace(day,23,50); //23替换为50
  273. Query OK, 1 row affected (0.41 sec)
  274. Rows matched: 5 Changed: 1 Warnings: 0
  275.  
  276. mysql> select * from t1;
  277. +------+-------+------+---------------------+------+---+
  278. | year | month | day | d | a | c |
  279. +------+-------+------+---------------------+------+---+
  280. | 2000 | 01 | 01 | 2016-11-05 12:14:53 | NULL | 1 |
  281. | 2000 | 02 | 20 | 2016-11-05 12:14:53 | NULL | 2 |
  282. | 2000 | 01 | 30 | 2016-11-05 12:14:53 | NULL | 3 |
  283. | 2000 | 02 | 02 | 2016-11-05 12:14:53 | NULL | 4 |
  284. | 2000 | 02 | 50 | 2016-11-05 15:54:03 | NULL | 5 |
  285. +------+-------+------+---------------------+------+---+
  286. 5 rows in set (0.00 sec)
  287.  
  288. select * from t1 where column=(select column from t12) //子查询结构
  289.  
  290. mysql> select * from t4;
  291. +------+
  292. | s1 |
  293. +------+
  294. | 2 |
  295. | 5 |
  296. | 4 |
  297. | 3 |
  298. | 4 |
  299. +------+
  300. 5 rows in set (0.00 sec)
  301.  
  302. mysql> select * from t3;
  303. +------+
  304. | s1 |
  305. +------+
  306. | 5 |
  307. +------+
  308. 1 row in set (0.00 sec)
  309.  
  310. mysql> select s1 from t3 where s1=(select max(s1) from t4); //使用子查询进行比较
  311. +------+
  312. | s1 |
  313. +------+
  314. | 5 |
  315. +------+
  316. 1 row in set (0.00 sec)
  317.  
  318. //表t1中的有些行含有的值会在给定的列中出现两次。该例子可以查找出所有这些
  319. mysql> select * from t4 as t //重命名为t
  320. -> where 2=(select count(*) from t3 where t3.s1=t.s1);
  321. Empty set (0.00 sec)
  322.  
  323. //行子查询,以下2个句子等价
  324. select * from t1 where (1,2) =(select s1,s2 from t2);
  325. select * from t1 where row(1,2)=(select s1,s2 from t2);
  326. //表达式(1,2)和ROW(1,2)有时被称为行构造符
  327. //看下面2个等价语句
  328. select * from t1 where (s1,s2)=(1,1,);
  329. select * from t1 where s1=1 and s2=1;
  330.  
  331. //在表t1中查找同时也存在于表t2中的所有的行
  332. select s1,s2,s3 from t1
  333. where (s1,s2,s3) in (select s1,s2,s3 from t2);
  334.  
  335. //from 子句中的子查询
  336. //将t11进行子查询之后,取别名为sb,再从sb中取sb1>1的数据
  337. mysql> create table t11 (s1 int,s2 char(5),s3 float);
  338. mysql> insert into t11 values(1,'',1.0);
  339. mysql> insert into t11 values(2,'',2.0);
  340.  
  341. mysql> select sb1,sb2,sb3
  342. -> from (select s1 as sb1,s2 as sb2,s3*2 as sb3 from t11) as sb
  343. -> where sb1>1;
  344. +------+------+------+
  345. | sb1 | sb2 | sb3 |
  346. +------+------+------+
  347. | 2 | 2 | 4 |
  348. +------+------+------+
  349. 1 row in set (0.00 sec)
  350.  
  351. //分类后的表的一组和的平均值
  352. select avg(sum(s1)) from t11 group by s1
  353.  
  354. select avg(sum_s1) from (select sum(s1) as sum_s1 from t1 group by s1 ) as t1;
  355.  
  356. select distinct t1.s1 from t1,t2 where t1.s1=t2.s2;
  357. select * from t1 where s1 in (select s1 from t1) or s1 in(select s1 from t2)
  358. select (select s1+5 from t1) from t2;
  359. 代替此查询
  360. select (select s1 from t1) +5 from t2;
  361.  
  362. //把子查询作为用于早期MySQL版本的联合进行改写
  363. select * from t1 where id in (select id from t2);
  364. //可以改成:
  365. select distinct t1.* from t1,t2 where t1.id=t2.id;
  366.  
  367. //not in
  368. select * from t1 where id not in (select id from t2);
  369. select * from t1 where not exists (select id from t2 where t1.id=t2.id);
  370. //等价于:
  371. select table1.* from table1 left join table2 on table1.id=table2.id where table2.id is null;
  372.  
  373. //清空table
  374. truncate table
  375.  
  376. //update
  377. //把年龄列设置为比当前值多一
  378. update persondata set age=age+1;
  379.  
  380. //对年龄列加倍,然后再进行增加
  381. update persondata set age=age*2,age=age+1;
  382.  
  383. //create user 创建用户,可以使用其桌面客户端去创建
  384. //drop user 取消一个账号及其权限
  385. //rename user 对mysql账号重命名
  386. //set password 赋予一个密码
  387. set password=password('some password')
  388. set password for user=password('some password')

sql语句语法的更多相关文章

  1. 【知识库】-数据库_MySQL常用SQL语句语法大全示例

    简书作者:seay 文章出处: 关系数据库常用SQL语句语法大全 Learn [已经过测试校验] 一.创建数据库 二.创建表 三.删除表 四.清空表 五.修改表 六.SQL查询语句 七.SQL插入语句 ...

  2. 关系数据库常用SQL语句语法大全

    创建表 语法 CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件] [,<列名> <数据类型>[列级完整性约束条 ...

  3. 基础SQL语句/语法

    SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库  Create DATABAS ...

  4. mysql数据库之基础SQL语句/语法

    SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库  Create DATABAS ...

  5. sql语句语法大全

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  6. 转载-增删改查sql语句语法

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  7. 简单实用 “易忘” 的SQL 语句语法,新老皆宜

    --创建数据库 create database 数据库名 on primary ( name='数据库名_data',  filename='数据库储存路径', size=数据库初始大小(MB),   ...

  8. SQL 语句语法简介(一)

    语句分类 SQL 命令一般分为三类:DQL.DML.DDL. 一.DDL语句. 1.1建表语句 CREATE TABLE table_name( col01_name data_type, col02 ...

  9. SQL语句语法简介

    SQL命令一般分为DQL.DML.DDL几类: DQL:数据查询语句,基本就是SELECT查询命令,用于数据查询 DML:Data Manipulation Language的简称,即数据操纵语言,主 ...

随机推荐

  1. DDD领域模型AutoMapper实现DTO(七)

    DTO的应用场景: 定义产品类: public class Product { public string ProductName { get; set; } public decimal Produ ...

  2. django中,如何把所有models模型文件放在同一个app目录下?

    django的每个app目录下,都有自己的models.py文件. 原则上,每个app涉及的数据库,都会定义在这个文件里. 但是,有的数据库,涉及到多个app应用,不是很方便放在一个单独的app里. ...

  3. linux命令之grep用法

    grep是linux中很常用的一个命令,主要功能就是进行字符串数据的对比,能使用正则表达式搜索文本,并将符合用户需求的字符串打印出来.grep全称是Global Regular Expression ...

  4. [转]什么时候该用NoSQL?

    NoSQL这两年越来越热,尤其是大型互联网公司非常热衷这门技术.根据笔者的经验,并不是任何场景,NoSQL都要优于关系型数据库.下面我们来具体聊聊,什么时候使用NoSQL比较给力: 1) 数据库表sc ...

  5. Python作业-选课系统

    目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...

  6. html的header结构和实例

    HTML header结构 <html> <head> <!-- base标签为页面上的所有链接规定默认地址或默认目标. 通常情况下,浏览器会从当前文档的 URL 中提取 ...

  7. presistence

    每一个神都是从弱到强的,像继科,在2011年之前,人很浮躁,球不稳,只是偶尔打出高质量而已:在输了无数场球之后,球厚了,人也定了(刘国梁评价),才抓住的机会成就了最快大满贯,并且创造了之后的辉煌,继科 ...

  8. java8 Optional正确使用姿势

    Java 8 如何正确使用 Optional import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; ...

  9. VS Code编辑器插件整理及配置设定

    语言包: Chinese -- VS Code的汉化包 格式化+代码补全: ESLint -- Integrates ESLint Vetur -- A vue tooling Prettier -- ...

  10. 玩转SpringCloud(F版本) 四.路由网关(zuul)

    本篇文章基于: 01)玩转SpringCloud 一.服务的注册与发现(Eureka) 02) 玩转SpringCloud 二.服务消费者(1)ribbon+restTemplate 03) 玩转Sp ...