实验菜鸟教程http://www.runoob.com/mysql/mysql-transaction.html
1、创建模式(创建数据库)
方法二:
方法三:
2、删除数据库:
方法二:
3、查询某数据库中所有表:
查询某数据库中某表的字段名称:
4、选择特定数据库:
注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。
5、创建表:
方法二:
创建具有外键的表:
带有外键表的创建:
7、删除表:
8、索引类型:
UNIQUE:唯一索引;
Full Text索引类型:
即为全文索引,目前只有MyISAM引擎支持。
9、索引方式:
BTREE:
10、插入数据库:
11、查询表:
BINARY 关键字设定 WHERE 子句的字符串比较是区分大小写。
12、更新表数据:
13、删除数据表中记录:
15、LIKE 子句
%字符来表示任意长度的字符串;
_代表单个字符;
16、UNION
默认去重;
加ALL不去重;
17、ORDER BY排序
升序ASC:
降序DESC:
18、GROUP BY分组:
在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
WITH ROLLUP:在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)
如果name值为null就用'总数'代替;
19、Mysql 连接的使用
INNER JOIN ON:等值连接(内连接),获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
20、NULL值:
查找数据表中 某列是否为 NULL,必须使用 IS NULL 和 IS NOT NULL,不能用=或者!=号
21、正则表达式:
^:以^之后的字符串开头的;
$:以$之前的字符串为结尾的;
包含'o'的;
匹配以R或者F开头、或者以e为结尾的列;[ ...]:字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
22、事务:
在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
事务用来管理 insert,update,delete 语句;
事务必须保证ACID条件;
开启事务BEGIN:
mysql> begin; # 开始事务
Query OK, 0 rows affected (0.00 sec)
mysql> insert into runoob_transaction_test values(7);
Query OK, 1 rows affected (0.00 sec)
mysql> rollback; # 回滚
Query OK, 0 rows affected (0.00 sec)
mysql> select * from runoob_transaction_test; # 因为回滚所以数据没有插入
+------+
| id |
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.01 sec)
注意:begin和rollback是成对出现的;
23、ALTER
修改表名或者字段名;
mysql> create table testalter_tbl
-> (
-> i INT,
-> c CHAR(1)
-> );
显示设计:
删除创建表i字段;
增加字段ADD(增加列):
ALTER TABLE testalter_tbl ADD a INT FIRST
ALTER TABLE testalter_tbl ADD i INT AFTER c;在c字段后面添加i字段(列);
ALTER命令中使用 MODIFY 或 CHANGE 子句 ,修改字段类型及名称
24、MySQL索引
普通索引:
删除索引:
unique唯一索引:
添加唯一索引:
25、复制表内的数据:
26、插入数据:
删除自增序列,然后再添加自增序列:
如果你删除了数据表中的多条记录,并希望对剩下数据的AUTO_INCREMENT列进行重新排列,
27、获取重复数据并统计:
过滤重复数据:
可以使用 GROUP BY 来读取数据表中不重复的数据:
28、SQL注入:
其中有:
Like语句中的注入
29、导出表:
导出为csv格式:
导出SQL格式数据: