我们之前学习如何安装MySQL数据库 以及 navicat 管理数据库可视化工具

那么现在主要来学习一下如何使用,(操作数据库有很多方式,终端操作、可视化工具操作、编程语句操作)

我们首先学习在终端操作数据库(windows+r      cmd)

登录数据库服务器:mysql -u root -p密码    或则  mysql -u root -p回车后再输入密码

退出数据库服务器:exit

如何查询数据库服务器中所有的数据库:show databases;     (一定要带分号 英文状态下的分号)

如何选中一个数据库进行操作:use 数据库名称      如:use test

----------------------------------------------------------------

如何在数据库服务器中创建数据库:create database 数据库名称;    (create database test1;)

查看某个数据库中所有的表:show tables;

如何创建一个数据表:create table user (name varchar(20),owner varchar(20),species varchar(20),sex char(1),birth date,death date);

          上面是一个例子,create table 表名称 (键 数据类型,键 数据类型(num),......);

如何查看某个表的具体结构:describe 表名称;    (describe user);

+---------+-------------+------+-----+---------+-------+
| Field   | Type              | Null   | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |        | NULL    |         |
| owner   | varchar(20) | YES  |        | NULL    |         |
| species | varchar(20) | YES  |        | NULL    |         |
| sex       | char(1)        | YES  |         | NULL    |        |
| birth     | date             | YES  |         | NULL    |        |
| death   | date             | YES  |         | NULL    |        |
+---------+-------------+------+-----+---------+-------+

field:字段名称;type:字段类型(长度);null:是否可以为空;key:约束类型,default:默认值;extra:额外的信息;

查看表中的数据:select * from 表名称;    (select  * from user);

如何往数据表中添加数据:insert into user values ('dog','me','taidi','f','2019-03-04',null);    按照表结构添加数据,类型,长度,都要符合(INSERT INTO  表名称 VALUES ('值','值',......);)

mySQL中有哪些常用数据类型?

数值:

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 字节 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度
浮点数值
DOUBLE 8 字节 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值

日期/时间:

类型 大小
(字节)
范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS 混合日期和时间值,时间戳

字符串(字符)类型:

类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-65535 字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

数据类型如何选择?

日期  按照格式选择

数值和字符串按照大小 选择

连续增加好多值:

insert into user values ('labuladuo','chenglong','dog','f','2019-04-12',null);
insert into user values ('hashiqi','lilianjie','dog','f','2019-05-12',null);
insert into user values ('douniuquan','zhenzidan','dog','f','2019-06-12',null);

如何删除数据?

delete from(表名称) where 条件;       //delete from user where name='dog';

如何修改数据?

update (表名称) set 键='值' where 条件;

//update user set name='wangwangcai' where owner='zhouxingchi';

小结一下,数据库的常见操作

增加:insert    删除:delete  改动:update    查询:select

MySQL建表时约束条件:主键约束、自增约束;外键约束;唯一约束;非空约束;默认约束;

主键约束:它能够唯一确定一张表中的一条记录。也就是我们通过给某个字段添加约束,就可以使得该字段不重复且不为空。

create table 表名称 (id int primary key,键 类型(长度),......);

//create table user1 (id int primary key,name varchar(20));

查看数据表编码:show create table 表名称;                         //show create table user1;

修改表的某个字段的编码:alter table 表名称 modify 字段名类型(长度) character set 编码;

//alter table user1 modify name varchar(20) character set utf8;

或者

alter table 表名称 change 字段名称 字段名称 varchar(50) character set 编码;

//alter table user1 change name name varchar(50) character set utf8;

修改表的默认的编码:alter table 表名称 DEFAULT character set 编码;

//alter table user1 DEFAULT character set utf8;

查看mysql的字符集:show variables where Variable_name like '%char%';

查看某一个数据库字符集:show create database enterprises;(注:enterprises为数据库);

开启/停止mysql:net start mysql  /  net stop mysql

初步学习MySQL的更多相关文章

  1. mysql存储过程的初步学习及案例示例

    存储过程 几个月前小编开始初步接触学习存储过程,当然是跟着大神的视频学习的,在学习的过程中自己也记录了一下笔记,如今整理一下,接下来我将从概念,优缺点以及语法和实际应用几方面为大家详细讲解一下存储过程 ...

  2. 烂泥:学习mysql数据库主从同步复制原理

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 说明本篇文章部分转载自互联网. MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对 ...

  3. 从零开始学习Mysql的学习记录

    2015/06/18 16:23更新,由于QQ邮件的图片链接失效了,请在云笔记链接查看 http://note.youdao.com/share/?id=f0b2ed30a3fc8e57c381e3d ...

  4. json2.js的初步学习与了解

    json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...

  5. 老周的ABP框架系列教程 -》 一、框架理论初步学习

    老周的ABP框架系列教程 -- 一.框架理论初步学习   1. ABP框架的来源与作用简介 1.1  简介 1.1.1       ABP框架全称为"ASP.NET Boilerplate ...

  6. 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助

    初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...

  7. EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库

    前提:搭建成功codefirst相关代码,参见EF Codefirst  初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...

  8. 学习MySQL(上)

    具体实例 1.PHP 服务器组件 对于初学者建议使用集成的服务器组件,它已经包含了 PHP.Apache.Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程. Window 系统可以使用 ...

  9. 学习MySQL(下)

    具体实例 22.MySQL ALTER命令 当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 1.如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使 ...

随机推荐

  1. sqlserver 转化函数

    --查询系统当前时间select GETDATE() as date;------------------------- 0-14 ------------------select CONVERT(V ...

  2. Powershell学习笔记:(二)、基础知识

    从Window7以后,WIndows系统都自带了Windows PowerShell. 自带版本如下 WIndow7  2.0 WIndow8   3.0 Window8.1      4.0 Win ...

  3. git一些简单运用

    1.删除本地文件后,继续从远处仓库拉取回来,提示up-to-date,执行如下 git reset --hard origin/master 待补充

  4. Xshell 上传文件到Ubuntu

    打开Xshell,连上一台Linux服务器或者是虚拟机 如果要方便的上传文件,需要rz 先测试是否安装rz 命令行~$ rz 如果出现未安装(或者command not found)且建议sudo a ...

  5. kubernetes 资源清单定义入门

    k8s中的资源 什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet Deploymen ...

  6. 【JUC】1.线程

    先复习一下线程的东西: Java线程的内存模型 主内存与工作内存 Java内存模型主要定义了程序中各个变量的访问规则 所有的变量都在主内存,Java堆(线程共享) 每条线程都有自己的工作内存,虚拟机栈 ...

  7. HTML的BODY内标签介绍

    一.基本标签 <body> <b>加粗</b> <i>斜体</i> <u>下划线</u> <s>删除线& ...

  8. python_ joinablequeue详解

    2019-5-20未命名文件 新建模板小书匠 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 小书匠主按钮>模板 里的模板管理来改变新建文章的内容. joinablequeue实 ...

  9. BUUCTF复现记录2

    [CISCN2019 华北赛区 Day1 Web1]Dropbox 打开题目,一个登录界面,SQL? sqlmap跑一下,没有注入,那么注册一下 登录之后,发现只有一个上传页面,源码里面也没有什么 那 ...

  10. 凤凰新闻APP的增长黑客流程步骤经验:3.5星|《我不是产品经理》

    “ 我问了他三个问题.●你是AI科学家或者算法工程师吗?答:不是.●你想天天坐在电脑旁点鼠标或者打电话吗?答:不想.●你愿意每天盯着数据仪表盘定策略并与生产者做运营沟通吗?答:不愿意.我回答他:你别去 ...