mysql数据库

1、数据库简单介绍

   数据库概念:是依照数据结构来组织、存储和管理数据的仓库。

2、经常使用术语

   数据库:是一些关联表的集合

   数据表:表是数据的矩阵,在数据库中看起来像一个简单的电子表格

   列:一列数据元素包括了同样的数据

   行:一行是一组相关的数据

   主键:主键是唯一的,一个数据表中仅仅能包括一个主键

   外键:外键用于关联两个表

   索引:使用索引能够高速訪问数据库表中的特定信息

3、经常使用命令

   1、链接数据库:mysql -u root -p 回车输入password就可以

   2、退出数据库:mysql>exit 或者 mysql>quit

   3、数据库帮助信息:mysql --help

   4、创建数据库:mysql>create database test     //创建了一个名为test的数据库

   5、删除数据库:mysql>drop database test

   6、选择数据库:mysql>use test

4、数据库类型

   类型大致能够分为三类:数值、日期/时间和字符串类型

 

      类型             大小        用途

   1、数值

      INT/INTEGER      4字节       整数型

      MEDIUMINT        3字节       整数型

      SMALLINT         2字节       整数型

      TINYINT          1字节       整数型

      BIGINT           8字节       整数型

      FLOAT            4字节       单精度浮点型

      DOUBLE           8字节       双精度浮点型

   2、日期/时间

      DATE             3字节       YYYY-MM-DD

      TIME             3字节       HH:MM:SS

      YEAR             1字节       YYYY

      DATETIME         8字节       YYYY-MM-DD HH:MM:SS

      TIMESTAMP        8字节       YYYYMMDD HHMMSS

   3、字符串

      CHAR             1字节       字符串型

      TEXT             4字节       文本型

5、基本的语法命令

   1、创建数据表

   mysql>create table student(

       ->id int not null auto_increment,

       ->name char(20) not null,

       ->age int,

       ->primary key (id)

       -> );

   注:mysql命令终止符为分号(;)。

   2、删除数据表

   mysql>drop table student;

   3、插入数据

   mysql>insert into student(id,name) values (20028,"王刚");

   4、查询数据

   mysql>select * from student;

   mysql>select name from student;

   5、更新数据

   mysql>update student set name="王强" where id=20028;

   6、删除数据

   mysql>delete from student where id=20028;

6、高级语法命令

   1、like子句

   mysql>select * from student where id like '%00%' and name="王强";

   注:"%"指匹配多个,"?

"指匹配一个

   2、排序

   mysql>select * from student order by id asc/desc;

   注:asc为升序。desc为降序

   3、join子句

   mysql>select a.id,a.age,b.sex from student a, test b

       ->where a.id=b.id;

   mysql>select a.id,a.age,b.sex from student a left join test b

       ->on a.id=b.id;

   注:使用left join,该语句会读取左边的数据表(student)的全部选取的字段数据,

       即使右边表(test)中没有相应的字段值。

   4、删除、加入或改动表字段

      1、改动表名

      mysql>alter table test rename to new_test;

      2、删除表中字段

      mysql>alter table student drop age;

      注:假设数据表中仅仅剩余一个字段则无法使用drop来删除字段

      3、加入表中字段   

      mysql>alter table student add age int;

      注:运行以上命令后,age字段会自己主动加入到数据表字段的末尾

      4、改动字段类型

      mysql>alter table test modify name char(30);

      5、改动字段名称

      mysql>alter table test chang name new_name char(40);

      6、改动字段默认值

      mysql>alter table test alter age set default 24;

7、正則表達式

   

      模式                  描写叙述

       $                匹配输入字符串的结束位置

       ^                匹配输入字符串的開始位置

       .                匹配除"\n"之外的不论什么单个字符。要匹配"\n"可使用"[.\n]"

      [...]             字符集合,匹配包括的任一个字符,列如[abc]能够匹配"apple"中的a

      [^...]            字符集合。匹配未被包括的随意字符。列如[^abc]能够匹配"apple"中的p

       *                匹配前面的子表达式零次或多次

       +                匹配前面的子表达式一次或多次

      {n}               n是一个非负整数,匹配确定的n次,比如"o{2}"不能匹配"Bob"中的"o"可是能匹配"food"中的两个o

      {n,m}             m和n均为非负整数,当中n<=m,最少匹配n次且最多匹配m次

   1、查找name字段中以'st'开头的全部数据

   mysql>select name from student where name regexp '^st';

   2、查找name字段中包括'mar'字符的全部数据

   mysql>select name from student where name regexp '*mar*';

最新文章

  1. JS组件系列——封装自己的JS组件
  2. jquery取消事件冒泡的三种方法(推荐)
  3. 【Tomcat】tomcat报错 removeGeneratedClassFiles failed
  4. spring security method security
  5. AutoMapper指定列名进行映射
  6. IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现
  7. 使用WebMatrix发布网站到Windows Azure
  8. 在linux中安装和卸载mysql
  9. js 鼠标上移 图片放大
  10. 13.Object-C--浅谈Foundation框架常用的结构体
  11. [C入门 - 游戏编程系列] 贪吃蛇篇(一) - 世界定义
  12. Android UI学习组件概述
  13. 1352 - Colored Cubes (枚举方法)
  14. mysql数据库快速入门(1)
  15. AtCoder Grand Contest 016
  16. [APIO2009]抢掠计划
  17. [Swift]LeetCode486. 预测赢家 | Predict the Winner
  18. [java 2019-04-09] 代码生成word文档中的表格嵌套问题
  19. Java线程池应用及原理分析(JDK1.8)
  20. C++中为什么有时要使用extern &quot;C&quot;

热门文章

  1. activemq常用配置
  2. LeetCode(42)Trapping Rain Water
  3. loadRunner之参数化,对用户名和密码进行参数化,并打印输出---实际操作:用户登录的账号用随机值来登录
  4. hust训练赛20160330--B - 又见LKity
  5. iOS第三方地图-百度地图常用功能使用(POI搜索,地理正反编码,定位,添加标注)
  6. POJ3321Apple Tree【dfs 树状数组】
  7. Codeforces Round #297 (Div. 2) [ 折半 + 三进制状压 + map ]
  8. vagrant的学习 之 ThinkPHP3.2
  9. D. Spongebob and Squares--cf599D(数学)
  10. topcoder 650 srm div2 1000pts