mysql笔记1—安装、配置和基础的数据表操作
本篇笔记主要分为两部分:
1,安装完毕之后的简单配置
2,数据的类型、简单的数据表操作命令
一、mysql安装完毕之后
windows和linux环境,除mysql的安装、配置有所不同,其他操作一样,本文在linux环境下操作。
启动(停止,重启)mysql服务:
service mysql start(stop,restart)
mysql的登陆/退出:
输入命令:mysql –uroot –p123456(123456为密码)
或者: mysql –uroot -p(回车,然后输入密码)
查看mysql版本
方法一:status;
方法二:select version();
修改mysql提示符:
我们在连接客户端后,看到,默认的提示符是mysql>,怎么修改呢
方法一:
连接客户端的时候就指定参数: shell> mysql -uroot -p*** --promot 提示符
方法二:
连接之后,通过pronpt命令来修改 : mysql> prompt 提示符
我自己修改成如下形式:
(因为还没有打开数据库,所以当前数据库显示为none)
在我打开数据库t1之后:
其他的一些mysql常用的简单命令:
通过以上简单的几个命令,发现,关键字我用的都是大写,其实即使用小写,也是没问题的,但是为了和数据库名、表名、字段名区分,我们默认都写大写。
说下mysql的语句规范:
关键字、函数名我们用大写
数据库名、表名、字段名我们小写
SQL语句末尾必须以分号结尾(如果你忘了输入分号,它会等着你期待你输入一个,你输入一个回车就好了)
简单的基本操作、基本管理之后,就是如何创建数据库:
数据库其实是一个大的概念,它是数据库以及其他子对象的集合(数据表、索引视图),mysql默认创建了四个数据库(mysql、information_schema、performance_schema、sys)
创建数据库的语法结构很简单:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[DEFAULT] CHARACTER SET [=] charset_name
其中,花括号为必选的,必须得有的,竖线为两个选其一,中括号表示可有可没有,为可选项;CHARACTER SET 表示指定数据库的编码方式,如果不写默认方式;
演示一下:
t2已经存在,但是因为我们加入了 IF NOT EXISTS,所以只是显示了一个警告,我们可以通过 SHOW WARNINGS的命令来查看警告的内容。
如果不加IF NOT EXISTS呢?
下面这条语句,可以查看创建数据库时候的一些指令信息,可以看出默认的编码方式:
现在我想改变一下编码方式:
删除数据库?
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
关于 IF EXISTS ,还是同样的道理,不再演示.
二、下面,介绍数据类型和数据表的操作:
定义:数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。
注意数据优化的时候,选择最合理最合适的数据类型,而不是越大越好;
我们的年龄可以用整数表示,但是比如我们的工资,可能就有小数位,所以又有浮点数这种类型:
这两种类型除了存储范围的不同,他们小数的位数也是不一样的。
这两种类型除了存储范围的不同,他们小数的位数也是不一样的。
CHAR定长的,比如说,CHAR(5)我们在写值得时候写了个“abc”,存储的时候会补充两个空格;VARCHAR(M)为变长的类型,存的“abc”就是“abc”
操作数据表:
上文创建了数据库,我们需要创建数据表;
[IF NOT EXISTS]和我们之前讲得作用是一样的,经过项目的分析,设计好需要设置的字段,已经字段的类型;字段间用逗号分开,最后一个字段不用加逗号。
好的我们设置一个名字加 SHEET1的用户表,表又用户名,年龄,工资3个字段。好的,姓名,我们设置为VARCHAR(20),年龄的话一般为0-110之间,可以为TINEYINT,而且无负值,设置为UNSIGNED,工资的话,设置为FLOAT,也是无负值得,设置为 UNSIGNED.
我们看一下,数据表的结构是不是我们想要的呢?
字段已经设置好,下一步是往表里边写入记录;
INSERT [INTO] SHEET1 [(col_name,...)] VALUES(val,...)
注意,要是省略列名,就要给每个字段赋值;否则就会出错。如下,显示为字段和值不匹配
但是,我们可以直接不给某个字段赋值,如下:
也就是说,我们可以给全部字段赋值,也可以给某部分字段赋值,但是给某些字段赋值是有先决条件的,一会谈到。这个大家记着点。
刚才看到了,我们通过SELECT 语句,即记录的查找命令,来查看插入的数据;当然,这个SELECT其实本身也挺复杂的,以后笔记再记录;
SELECT * FROM SHEET1;
这块,很多同学看到有个*,以为是全部的记录,其实不然,这里是全部的字段的意思,以后会谈到。
刚才,我们看到了,我们没给第二条记录的 salary字段赋值,显示为NULL;
好,久聊到了NULL和NOT NULL;
比如,我们在注册一个网站填写一些信息的时候,会显示哪些可以为空,哪些必须填写。我们如何在设计数据表的时候设置呢?需要给字段指定的更加完善。
初次之外,我们要求记录的唯一性;
我们可以通过为某个字段添加AUTO_INCREMENT属性,即自动编号,并且必须和主键组合使用;
默认情况下,起始值为1,每次增量为1,这样就能保持唯一性;
好,我们演示下:
好的,错误出来了,就是自动编号的字段必须定义为主键才可以;
那么,现在,我们就迫切了解什么是主键?
注意刚才一个逻辑,刚才的错误显示,自动编号必须和主键一块使用,但是主键并不是必须和AUTO_INCREMENT一块使用;
好,我们把刚才设计错误的表,重新来一遍:
ok,我们通过查看数据表结构的命令,看到建立成功,并且字段id 因为是主键,自动的为 NOT NULL;
现在,往数据表中插入记录,注意:字段id就不用赋值了,同时因为是为部分字段赋值,插入数据的时候也就不能省略到字段名字。
我们插入了三条数据,而且是自动编号,如下:
现在,演示不定义自动编号,直接设置主键;
我们创建SHEET4表,讲id 设置为主键,创建成功后我们查看下数据表结构:
好的,没问题,主键字段是允许赋值的;
但是主键是不允许有相同的值得,我们测试下:
除了主键能够保证唯一约束,我们也可以设置唯一约束,都能保证记录的唯一性;
但是一张数据表主键只能有一个,唯一约束性可以有多个,而且可以为空;
下面我们来创建一个 既有主键约束又有唯一约束的数据表:
好,可以看到,唯一约束的限制,插入第二条数据的时候出错了;
除了唯一约束、主键约束,还有默认约束;
默认约束:当我们插入记录时,没有为字段赋值,可以为字段设置为默认值。
我们创建一个数据表,并且查看它的表结构,最后插入数据,如下:
我们看到,性别被赋予了默认值“3”。
公众号中回复:mysql,就可获得mysql使用的ppt.
-------------------------------------------------------------------------
欢迎关注~
mysql笔记1—安装、配置和基础的数据表操作的更多相关文章
- MySql数据基础之数据表操作
MySql数据库中主要利用多个数据表进行数据的存储,我们可以将数据表理解成一个Excel表格,Excel表格的第一列可以将它看为id列,主要任务是数据表中数据的唯一标识,不能重复.不能为空.如果将数据 ...
- Windows 8.1下 MySQL绿色版安装配置与使用
原文:Windows 8.1下 MySQL绿色版安装配置与使用 Mysql-5.6.17-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址:http://downloads.my ...
- Ubuntu16.04中Mysql 5.7 安装配置
记录在Ubuntu 16.04安装Mysql 5.7时遇到的一些问题. Mysql安装 使用如下命令进行安装: 1 sudo apt-get install mysql-server mysql-cl ...
- 在Docker中安装配置Oracle12c并实现数据持久化
在Docker中安装配置Oracle12c并实现数据持久化 选定镜像,并pull到系统中,一定要先配置加速,不然超级慢 eric@userver:~$ docker pull sath89/oracl ...
- mysql数据表操作&库操作
首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1 查看所有的库:show databases; 进入一个库:use database; 显示所在的库:s ...
- MySQL 数据表操作
MySQL 数据表操作 创建MySQL数据表需要以下信息: -表名: -表字段名: -定义每个表字段: 一.创建数据表 1)mysql> create table table_name (c ...
- mysql 数据表操作 目录
mysql 数据表操作 存储引擎介绍 mysql 使用存储引擎 mysql 数据表的增删改查 mysql 数据类型 mysql 约束条件
- mysql 基本语法学习1(数据库、数据表、数据列的操作)
今天学习了一下mysql语法,并记录下来 1.mysql的数据库操作 /***1.操作数据库的语法 ***/ -- 1)显示所有数据库 -- show databases; -- 2)创建数据库 -- ...
- Linux下mysql 多实例安装配置
首先我们要清楚什么是多实例?所谓多实例就是用多个配置文件来启动多个不同端口的进程,以不同的端口的形式为外提供服务.明白了多实例 我们下面的操作和配置就一目了然了首先我们要安装一套基础的应用程序,也就是 ...
随机推荐
- 【转】python面向对象中的元类
type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个Hello的class,就写一个hello.py模块: class Hel ...
- asp.net 下载图片
public class DownLoad : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Res ...
- 服务熔断、降级、限流、异步RPC -- HyStrix
背景 伴随着业务复杂性的提高,系统的不断拆分,一个面向用户端的API,其内部的RPC调用层层嵌套,调用链条可能会非常长.这会造成以下几个问题: API接口可用性降低 引用Hystrix官方的一个例子, ...
- Ubuntu 15.10环境下安装Hive
1. 安装MySQL sudo tar -xzvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz sudo mv mysql-5.7.13-linux-glibc ...
- INSPIRED启示录 读书笔记 - 第3章 产品管理与项目管理
互联网让两者变得不同 在传统的零售软件领域,产品经理常常兼任项目经理的工作,随着互联网的发展,两者的职责区别也越来越明显 产品管理的职责是探索(定义)有价值的.可用的.可行的产品 项目管理的职责是关注 ...
- 获取蓝牙mac地址
http://macpu.github.io/2015/11/12/iOS%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E8%93%9D%E7%89%99Mac%E5%9C ...
- 用PyDev、eclipse搭建Python开发环境
一 Eclipse for python环境搭建 ①下载原生Eclipse,可以直接百度Eclipse,在百度软件中心下载 ②下载完后,打开软件,选择第一个安装即可 ③安装完成后,打开eclips ...
- Hadoop的Docker镜像构建
1.Dockerfile ###Dockerfile -- beagin FROM ubuntu:trusty #MAINTAINER The Hue Team "https://githu ...
- SPOJ375 QTREE - Query on a tree
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- Codeforces Round #283 (Div. 2) A ,B ,C 暴力,暴力,暴力
A. Minimum Difficulty time limit per test 2 seconds memory limit per test 256 megabytes input standa ...