mariadb二超详细的增删改

一.表的结构的增删改
添加数据类型
alter table 表名 add 字段 数据类型;
#修改数据类型
alter table 表名  modify 字段 数据类型;
#更改字段名甚至数据类型。
alter table 表名 change 老字段 新字段 新数据类型;   #数据类型可改可不改,注意数据类型的更改要符合本身规则。
#删除字段
alter table 表名 drop 字段;

查看表结构(字符,数据类型,约束)

MariaDB [mysql]> desc s;
+--------+-------------------------------------+------+-----+---------+----------------+
| Field  | Type                                | Null | Key | Default | Extra          |
+--------+-------------------------------------+------+-----+---------+----------------+
| id     | int(10) unsigned                    | NO   | PRI | NULL    | auto_increment |
| name   | varchar(20)                         | YES  |     | NULL    |                |
| age    | tinyint(3) unsigned                 | YES  |     | 0       |                |
| high   | decimal(5,2)                        | YES  |     | NULL    |                |
| gender | enum('男','女','中性','保密')       | NO   |     | 保密    |                |
| cls_id | int(10) unsigned                    | YES  |     | NULL    |

插入字段的内容 (insert into 表 values (赋值))

insert into s values(0,'酱爆',23,192.555,‘男’,1901)   
#格局字段顺序赋予value值,id赋值0但是因为设置了auto_increment的主键,会自动增加为1; # 甚至可以赋值为default或者null,因为默认自增,综上来说,设置了主键自增的字段,添加数据的时候可以用0,
null,default来做占位符。 # 另外往gender的字段内添加数据,可以根据索引来插入。即1为男,2为女.. #不管数据插入是否成功,自增都会生效

查看表内数据

select * from  表名;
MariaDB [mysql]> select * from s;
+----+--------+------+--------+--------+--------+
| id | name   | age  | high   | gender | cls_id |
+----+--------+------+--------+--------+--------+
|  1 | 酱爆   |   23 | 192.56 | 男     |   1901 |
|  2 | 酱爆   |   23 | 192.56 | 男     |   1901 |
+----+--------+------+--------+--------+--------+

几个报错分析:

1.MariaDB [mysql]> insert into s values(null,'酱爆',23,192.455,null,1901);
ERROR 1048 (23000): Column 'gender' cannot be null    #此报错是因为设置gender的null约束为NO,如果不设置的话,就将null默认为一个
字符串插入。另外往gender的字段内添加数据,可以根据索引来插入。即1为男,2为女...

1.Invalid default value for 'gender'   #此报错是因为前方null字段设置为空,而默认值设置不为空冲突
2.column 'gender' has duplicate dvalue'?' in ENUMigned   #编码格式改为utf8
Column count doesn't match value count at row 1        #添加的数据个数与字段个数不匹配

部分插入

insert into s (name,age) values('酱爆',23)
    -> ;
Query OK, 1 row affected (0.002 sec)
# 然后查看
MariaDB [mysql]> select * from s;        #*代表所有
+----+--------+------+--------+--------+--------+
| id | name   | age  | high   | gender | cls_id |
+----+--------+------+--------+--------+--------+
|  1 | 酱爆   |   23 | 192.56 | 男     |   1901 |
|  2 | 酱爆   |   23 | 192.56 | 男     |   1901 |
|  3 | 酱爆   |   23 | 192.46 | 女     |   1901 |
|  4 | 酱爆   |   23 |   NULL | 保密   |   NULL |
+----+--------+------+--------+--------+--------+
这里有两个需要注意的地方:
1)id自增和gender为保密,这是因为设置了主键自增和设置了默认值为‘保密’
2)high和cls_id为null,因为插入时没有赋值,会默认为null,但是这是建立在null的约束为YES的前提下,不然会报错。
3)如果在id的字段内插入值,不能重复

插入指定字段(列)的多行信息
insert into 表名 (字段,字段) values(赋值,赋值),(赋值,赋值)
insert into baba (name,age) values('酱爆',23),(’熊大‘,23);
| 5 | 酱爆   |   23 |   NULL | 保密   |   NULL |
|  6 | 熊大   |  23 |  NULL  | 保密   |   NULL  |

修改字段内数据(限定范围多用where)

update s set name='zz' where name='酱爆';
+----+--------+------+--------+--------+--------+
| id | name   | age  | high   | gender | cls_id |
+----+--------+------+--------+--------+--------+
|  1 | zz     |   23 | 192.56 | 男     |   1901 |
|  2 | zz     |   23 | 192.56 | 男     |   1901 |
|  3 | zz     |   23 | 192.46 | 女     |   1901 |
|  4 | zz     |   23 |   NULL | 保密   |   NULL |
|  5 | zz     |   23 |   NULL | 保密   |   NULL |
|  6 | 熊大   |   23 |   NULL | 保密   |   NULL |
|  7 | zz     |   23 |   NULL | 保密   |   NULL |
|  8 | 熊大   |   23 |   NULL | 保密   |   NULL |

修改多个字段的内容(update 表 set ...)

update s set name='baba' ,age=12 where id=1;
MariaDB [mysql]> select * from s;
+----+--------+------+--------+--------+--------+
| id | name   | age  | high   | gender | cls_id |
+----+--------+------+--------+--------+--------+
|  1 | baba   |   12 | 192.56 | 男     |   1901 |
|  2 | zz     |   23 | 192.56 | 男     |   1901 |
|  3 | zz     |   23 | 192.46 | 女     |   1901 |
|  4 | zz     |   23 |   NULL | 保密   |   NULL |
|  5 | zz     |   23 |   NULL | 保密   |   NULL |
|  6 | 熊大   |   23 |   NULL | 保密   |   NULL |
|  7 | zz     |   23 |   NULL | 保密   |   NULL |
|  8 | 熊大   |   23 |   NULL | 保密   |   NULL |
+----+--------+------+--------+--------+--------+

删除数据 (delete from 表  + 限定条件)

delete from s where id =8;          
#如果不用where限定会删除所有表内的数据,慎用

删除后添加数据

insert into s (name,age) values('酱爆',22);
#查看字段信息(发现id为8的数据删除后,下条增加的数据id为9,这是因为id自增的属性在起作用,有一定的保护作用)
MariaDB [mysql]> select * from s;
+----+--------+------+--------+--------+--------+
| id | name   | age  | high   | gender | cls_id |
+----+--------+------+--------+--------+--------+
|  1 | baba   |   12 | 192.56 | 男     |   1901 |
|  2 | zz     |   23 | 192.56 | 男     |   1901 |
|  3 | zz     |   23 | 192.46 | 女     |   1901 |
|  4 | zz     |   23 |   NULL | 保密   |   NULL |
|  5 | zz     |   23 |   NULL | 保密   |   NULL |
|  6 | 熊大   |   23 |   NULL | 保密   |   NULL |
|  7 | zz     |   23 |   NULL | 保密   |   NULL |
|  9 | 酱爆   |   22 |   NULL | 保密   |   NULL |
+----+--------+------+--------+--------+--------+

查看表内数据:select * from 表名;

查看表结构:desc 表名;

查看表结构信息 :show create table 表名;

逻辑删除

1)增加字段并设置默认值为0

alter table s add is_delete bit(1) default 0;

2)插入新信息

insert into s ('name','age') values('baba',13),('mama',14);

3)查看(发现is_delete字段内容依然空白,这是因为默认为0的数据太小,不能查看到)

MariaDB [mysql]> select * from s;
+----+--------+------+--------+--------+--------+-----------+
| id | name   | age  | high   | gender | cls_id | is_delete |
+----+--------+------+--------+--------+--------+-----------+
|  1 | baba   |   12 | 192.56 | 男     |   1901 |           |
|  2 | zz     |   23 | 192.56 | 男     |   1901 |           |
|  3 | zz     |   23 | 192.46 | 女     |   1901 |           |
|  4 | zz     |   23 |   NULL | 保密   |   NULL |           |
|  5 | zz     |   23 |   NULL | 保密   |   NULL |           |
|  6 | 熊大   |   23 |   NULL | 保密   |   NULL |           |
|  7 | zz     |   23 |   NULL | 保密   |   NULL |           |
|  9 | 酱爆   |   22 |   NULL | 保密   |   NULL |           |
| 10 | hauhua |   13 |   NULL | 保密   |   NULL |           |
| 11 | baba   |   13 |   NULL | 保密   |   NULL |           |
+----+--------+------+--------+--------+--------+-----------+
此操作作用在于给逻辑删除的用户标记,0为正常用户,1为逻辑删除用户。

 

MariaDB [mysql]> insert into s values(null,'酱爆',23,192.455,null,1901)

原文地址:https://www.cnblogs.com/zzzynx/p/10846346.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


安装开始...1.打开“https://dev.mysql.com/downloadsepo/yum/”下载Mysql源      将下载好的mysql源上传linux服务器 2.yumlocalinstallmysql80*#安装源 centos7中默认安装的是mariadb数据库,如果想要安装mysql,首先要移除mariadb;
安装Helm3#官网下载慢#wgethttps://get.helm.sh/helm-v3.5.4-linux-amd64.tar.gzwgethttp://qiniu.dev-share.top/helm-v3.5.4-linux-amd64.tar.gztar-zxvfhelm-v3.5.4-linux-amd64.tar.gzcplinux-amd64/helm/usr/local/bin#查看helmclient版本helmversion
通过Linux命令行启动用的指令:systemctlstartmariadb.service反馈:Failedtostartmariadb.service:Unitmariadb.servicenotfound.MariaDB简介MariaDB是MySQL的一个分支,MariaDB打算保持与MySQL的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与MySQLAPI和命令
InstallingMariaDBServer10.4TodeployMariaDBCommunityServer10.4onRHEL7orCentOS7,firstdownloadandusethe mariadb_repo_setup scripttoconfiguretheMariaDBrepositoriesforYUM:$sudoyuminstallwget$wgethttps://downloads.mariadb.com/
阅读目录一什么是存储引擎二mysql支持的存储引擎三使用存储引擎一什么是存储引擎mysql中建立的库--> 文件夹库中建立的表--> 文件现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片
1、安装MariaDB安装命令yum-yinstallmariadbmariadb-server安装完成MariaDB,首先启动MariaDBsystemctlstartmariadb设置开机启动systemctlenablemariadb[root@node1~]#systemctlenablemariadbCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/m
Centos7.5 刚安装的mariadb数据库报错报错:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)原因一:没有启动数据库解决方法:systemctlstartmariadbsystemctlenablemariadb原因二:未知解决方法:[root@db01~]#
基于YUM安装的mariadb多实例.=================================================================1.yum安装mariadb-server包#yuminstallmariadb-server2.创建多实例对应的目录结构#mkdir/mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}-pv#tree/mysql//mysql/
一、系统环境[root@localhost~]#cat/etcedhat-releaseCentOSLinuxrelease7.6.1810(Core)二、mysql安装#yuminstallmysqlmysql-servermysql-devel安装mysql-server失败,如下图:[root@localhost~]#yuminstallmysql-serverLoadedplugins:fastestmirrorLoadingm
数据库的选择两大点是:开源和跨平台,满足这三点MySQL、MongoDB和MariaDB。其中MariaDB是MySQL的分支,也是它的进阶产品,未来很有可能替代MySQL。与MySQL相比较,MariaDB更强的地方在于:Maria 存储引擎PBXT存储引擎XtraDB 存储引擎FederatedX 存储引擎更快的复制查询处理线
使用Navicat连接数据库时出现了 HostxxxisnotallowedtoconnecttothisMariaDbserver的情况。发现了是因为授权的问题,使得连接权限受阻。所以,只需要进入数据库中,给予其权限即可。具体解决代码如下:[root@localhost~]#mysql-uroot-pEnterpassword:#首先进入mys
1.临时表当绘画结束时,临时表会自动销毁,无法用showtables查看临时表。MariaDB[jason]>createtemporarytabletmp(prochar(30),citychar(30));QueryOK,0rowsaffected(0.01sec)MariaDB[jason]>insertintotmpvalues('shanghai','shanghai');QueryOK,1
为了看阳光我来到世上数据库介绍数据库是一个存放数据的仓库,目前市面上最流行的数据库大致氛围的两种,一种叫做关系型数据库,一种叫做非关系型数据库,而关系型数据库近期流行的即为mysql,mysql原本是一个开源的数据库后被oracle公司收购,开始进行服务收费,因此,市面上大多数免费
1,Linux上的mysql MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松
启动Mariadb前提需安装mariadb-server-安装mariadb-serveryuminstall-ymariadb-server-启动服务systemctlstartmariadb.service-添加到开机启动systemctlenablemariadb.service-安全设置,以及修改数据库管理员密码mysql_secure_installation-启
1、查看是否安装及可用安装:yumlist|grepmaria2、安装maria(依赖其他几个安装包):yuminstallmariadb-server.x86_64输入'y'继续安装直到安装结束3、检查是否安装:4、安装完后登录提示错误:mysql-uroot-p是由于安装完但是并未启动maria服务5、启动maria有以下几种方法:system
通过yum安装mariadb,并配置MySQL主从服务器主服务器:192.168.10.11从服务器:192.168.10.12#!/bin/bash#====================================================#Author:Mr.Song#CreateDate:2019-02-21#Description:autoconfigMySQLmaster&slave#=====================
实验:实现基于SSL加密的主从复制实验步骤:环境:三台主机,一台CA:200,一台master:150,一台slave:100平时都是在CA上帮用户生成私钥,在服务器上做的1CA,master,slave的证书相关文件mkdir/etc/my.cnf.d/sslcd/etc/my.cnf.d/sslopensslgenrsa2048>cakey.pemopensslreq-new-x509-k
MariaDB[db1]>select*fromstudent;+----+------+-----+--------+-------+|id|name|age|gender|phone|+----+------+-----+--------+-------+|1|a|20|m|119||2|b|20|m|120||3|c|20|m|110
过年了,在老家闲余时间想敲敲代码,发现在安装mariaDb的时候一直报错错误信息:Service‘MySQL’(MySQL)Faildtostart,Verifythatyouhavesuffcientprivilegestostartsystemservices.服务的MySQL(MySQL)启动错误,确认你有权限启动系统服务。记得多年前在使用sqlserver数