mysql 连接到mysql服务器
1 | mysql -u user -p password |
管理MySQL的命令
- SHOW DATABASES; 列出 MySQL 数据库管理系统的数据库列表。
- SHOW TABLES;显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。
- SHOW COLUMNS FROM 数据表;显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
- SHOW INDEX FROM 数据表;显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
- USE 数据库名;选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。
MySQL 创建数据库
1 | create database 数据库名; |
MySQL 删除数据库
1 | drop database 数据库名; |
MySQL 创建数据表
1 | crate table tablename( |
MySQL 删除数据表
1 | drop table tablename; |
MySQL 清空数据表
1 | truncate 数据库名; |
MySQL 插入数据
1 | insert into tablename (field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); |
MySQL where 子句
1 | SELECT field1, field2,...fieldN FROM table_name1, table_name2... |
MySQL UPDATE 查询
1 | UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause] |
- 你可以同时更新一个或多个字段。
- 你可以在 WHERE 子句中指定任何条件。
- 你可以在一个单独表中同时更新数据。
MySQL DELETE 语句
1 | DELETE FROM table_name [WHERE Clause] |
MySQL LIKE 子句
1 | SELECT field1, field2,...fieldN from table_name1, table_name2... |
MySQL UNION 操作符
1 | MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。 |
MySQL 排序
1 | SELECT field1, field2,...fieldN |
MySQL GROUP BY 语句
1 | SELECT column_name, function(column_name) |
Mysql 连接的使用
- INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
- LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
- RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
1 | mysql> SELECT * FROM tcount_tbl; |
内连接 INNER JOIN
1 | mysql> SELECT a.runoob_id, a.runoob_author, b.runoob_count |
左连接 LEFT JOIN
1 | mysql> SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; |
右连接 RIGHT JOIN
1 | mysql> SELECT b.runoob_id, b.runoob_author, a.runoob_count FROM tcount_tbl a LEFT JOIN runoob_tbl b ON a.runoob_author = b.runoob_author; |
MySQL NULL 值处理
- is null 查询包括null的数据
1 | mysql> SELECT * FROM tcount_tbl WHERE runoob_count IS NULL; |
- is not null 查询不包括null的数据
1 | mysql> SELECT * from tcount_tbl |
MySQL 正则表达式 REGEXP
1 | 查找name字段中以'st'为开头的所有数据: |
MySQL ALTER命令
删除,添加字段
1 | mysql> ALTER TABLE testalter_tbl DROP i; 删除表的i字段 |
修改字段类型及名称 在ALTER命令中使用 MODIFY 或 CHANGE 子句 。
1 | mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10); 把字段 c 的类型从 CHAR(1) 改为 CHAR(10) |
修改表名
1 | ALTER TABLE testalter_tbl RENAME TO alter_tbl; 将数据表 testalter_tbl 重命名为 alter_tbl |