zoukankan      html  css  js  c++  java
  • mysql数据库快速入门(1)

    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];

      

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

     

  • 相关阅读:
    进程通信
    Python爬虫获取随机的UserAgent的两种方法
    Chrome插件【请停用以开发者模式运行的扩展程序】的提示解决方案
    FCFS,SJF,HRRN调度算法总结分析(全)
    进程控制
    进程的状态和转换
    进程的调用
    系统调用
    终端和异常
    今日份崩溃——时刻注意细节
  • 原文地址:https://www.cnblogs.com/w-sansamilly/p/8305039.html
Copyright © 2011-2022 走看看