MYSQL之数据库初窥
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*';
MYSQL之数据库初窥的更多相关文章
- MySQL数据库初识——初窥MySQL
初步了解MySQL基本数据库语言 1.创建一个Mysql数据库 create database database_name: 2.显示所有的Mysql数据库 show databases: 3.使用 ...
- 初窥Flask
初窥Flask Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求 ...
- scrapy2_初窥Scrapy
递归知识:oop,xpath,jsp,items,pipline等专业网络知识,初级水平并不是很scrapy,可以从简单模块自己写. 初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数 ...
- iOS视频直播初窥:高仿<喵播APP>
视频直播初窥 视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染 采集: iOS系统因为软硬件种类不多, 硬件适配性比较好, 所以比较简单. 而Android端市面上机型众多, 要 ...
- Scrapy 1.4 文档 01 初窥 Scrapy
初窥 Scrapy Scrapy 是用于抓取网站并提取结构化数据的应用程序框架,其应用非常广泛,如数据挖掘,信息处理或历史存档. 尽管 Scrapy 最初设计用于网络数据采集(web scraping ...
- python爬虫 scrapy2_初窥Scrapy
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- day 41 数据库初学习
前情提要: 数据库初识别 一:数据库的介绍 https://github.com/Endless-Clould/homework/blob/master/student_system.sql 数据再这 ...
- 初窥ElasticSearch
初窥ElasticSearch 官网上面的,不知道讲的是什么.. youtube上面有一个start with,内容是在windows以下跑这个elastic search,然后用一个fidler工具 ...
- IPFS初窥
虽然区块链有很多令人兴奋的特性,但是也有其固有的缺点.比如,文件或者长度较长的文本信息就不适合存储在链上.那么如何解决这个缺点呢?一个解决方案就是IPFS(Interplanetary File Sy ...
随机推荐
- Python3.6中文文档 又来推荐一个,之前的Python3.52看得有点懵逼 https://www.rddoc.com/doc/Python/3.6.0/zh/
https://www.rddoc.com/doc/Python/3.6.0/zh/ 大家有空看下
- 剑指Offer(书):数组中重复的数字
题目:找出数组中重复的数字. 说明:在一个长度为n的数组里的所有数字都在0~n-1的范围内,数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数 ...
- Android布局之相对布局——RelativeLayout
此博文主要是相对布局xml属性的解析及实例. android:layout_above:此控件底部的边缘位于设定ID控件的上方 <Button android:id="@+id/btn ...
- Nginx的启动过程
主要介绍Nginx的启动过程,可以在/core/nginx.c中找到Nginx的主函数main(),那么就从这里开始分析Nginx的启动过程. 涉及到的基本函数 源码: View Code Ngin ...
- Boolean.valueOf("true")的用法
Boolean.valueOf(a);a为true时返回true不管大小写,a为其他值时都返回false:
- Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现
Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现 LayerDrawable实现的结果和附录文章1,2,3中的layer-list一致. ...
- 1027 stl
#include<stdio.h> #include<queue> using namespace std; int main() { int i,n,m,j,k,a[100 ...
- Visual Studio 2017 RC的坑
ASP.NET Core Project add Docker Project Support的问题 执行上面操作以后,如果本机没有装好docker,就会一直报错,无法build通过,无论你在Proj ...
- CodeForces 596C Wilbur and Points
先对n个点分类,然后按题意要求构造,构造的时候判断这个点的右上方之前是否有点,判断可以用线段树来操作. #include<cstdio> #include<cstring> # ...
- Dividing--hdu1059(动态规划)
Problem Description Marsha and Bill own a collection of marbles. They want to split the collection a ...