1、数据库操作

1.1、连接mysql服务器 

  mysql -u root( 用户名 ) -p

1.2、退出mysql命令提示窗

  exit

1.3、查看版本

  SELECT VERSION();

1.4、列出数据库列表

  SHOW DATABASES;

1.5、创建数据库

  CREATE DATABASE IF NOT EXISTS [database] DEFAULT CHARSET UTF8;

1.6、选择要操作的数据库

  USE [database];

1.7、删除数据库

  GROP DATABASE [database];

2、表操作(建立在已经选定了数据库上)

2.1、创建表

  CREATE TABLE IF NOT EXISTS [`tableName`] (`columnName` columnType PRIMARY KEY/…) CHARSET UTF8;

  PRIMARY KEY:设置字段为主键;

  AUTO_INCREMENT:自增;

  NOT NUL:字段数据不为NULL,否则报错;

  CHARSET:设置编码格式。

2.2、列出表

  SHOW TABLES;

2.3、查询数据表字段信息

  SHOW COLUMNS FROM [tableName];

2.4、查询数据表的详细索引信息

  SHOW INDEX FROM [tableName];

2.5、查询管理系统的性能及统计信息

  SHOW TABLE STATUS FROM [database] LIKE  \’**%\’\G;

  **%:以什么开头;

  \G:按列显示。

2.6、删除数据表

  DROP TABLE [tableName];

2.7、修改表见4.9

3、数据操作(增删改查)

3.1、插入数据

  INSERT INTO [tableName] (key1, key2) VALUES (val1, val2);

  

3.2、删除数据

  DELETE FROM [tableName] condition;

  condition:WHERE id=1 / …

3.3、修改更新数据

  UPDATE [tableName] SET key1=val1, key2=val2 condition;

  

3.4、查询数据

  SELECT */(key1, key2) FROM [tableName];

  *:查全部;

  key1, key2:想要查询的字段。

4、子句(配合增删改查等操作)

4.1、WHERE

  AND:与条件

  eg:SELECT */(key1, key2) FROM [tableName] WHERE id=1 AND name=\’newname\’;

  

  OR:或条件

  eg:SELECT */(key1, key2) FROM [tableName] WHERE id=2 OR name=\’newname\’;

  

4.2、LIKE % —— 可以模糊查询

  表中有以下数据:

  

  无%:精确查询:

  

  %**在前:已**结尾:SELECT * FROM [tableName] WHERE key LIKE \’%val\’;

  

  **%在后:已**开头:SELECT * FROM [tableName] WHERE key LIKE \’val%\’;

  

  %**%:包含**:SELECT * FROM [tableName] WHERE key LIKE \’%val%\’;

  

4.3、UNION ALL/DISTINCT —— 得到两个以上select语句结果的集合

  有以下两表:

  

  ALL:不去重

  

  DISTINCT:去重

  

4.4、ORDER BY key ASC/DESC —— asc升序,desc降序 

4.5、GROUP BY —— 分组统计

  

  SELECT name COUNT(*)/SUM(key)/AVG(key) AS newName FROM [tableName] GROUP BY name WITH ROLLUP;(分组统计name的个数以字段newName显示统计个数)

  

4.6、JOIN —— 连接

  有以下两表:

  

  INNER JOIN(获取两表匹配关系记录):SELECT a.name, b.count FROM [tableName1] a INNER JOIN [tableName2] b ON a.name=b.name; 

  

  相当于语句:SELECT a.name, b.count FROM [tableName1] a, [tableName2] b WHERE a.name=b.name;

  

  LEFT JOIN(左连接 获取左表记录,即使右表没有)

  

  RIGHT JOIN(右连接 获取右表记录,即使左表没有)

    

4.7、NULL

  IS NULL:值为NULL;

  IS NOT NULL:值不为NULL。

4.8、REGEXP —— 正则

  SELECT * FROM [tableName] WHERE name REGEXP \’regexp\’;

4.9、ALTER —— 增删改字段

  表原结构:

  

  添加一列:ALTER TABLE [tableName] ADD newKey INT/… NOT NULL DEFAULT ‘val‘ FIRST/AFTER key; 添加新字段newKey默认值为val于第一列或key列之后

    FIRST:添加字段到第一列;

    AFTER:添加字段到**字段之后;

    DEFAULT:设置字段默认值。

  

  删除一列:ALTER TABLE [tableName] DROP newKey;

  

  修改一列:ALTER TABLE [tableName] CHANGE key newKey INT/…;

  

   修改表:ALTER TABLE [tableName] RENAME TO [newTableName];

  

                                                                              ——-以上如有问题欢迎指出,转载请说明出处

 

版权声明:本文为w-sansamilly原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/w-sansamilly/p/8305039.html