首页 > 数据库 >1、MySQL操作命令学习1

1、MySQL操作命令学习1

时间:2023-06-28 21:11:05浏览次数:40  
标签:操作命令 表名 数据类型 id 学习 person MySQL table alter

一、对数据库及表的基础操作

1、连接数据库服务器                       mysql -hlocalhost -uroot -p123456

2、2.退出服务器                               exit

3、查看所有的数据库                       show databases;

4、创建一个数据库                          create database java;

5、删除数据库                                 drop database java;

6、选中进入数据库                          use java;

7、查看数据库java中所有的表        show tables;

8、在数据库java中建person表      

  create table person(id int, name varchar(32), age int, info text);

  语法格式: create table  表名 (字段1 数据类型, 字段2 数据类型,...);

9、11.查看person表的结构               desc person;

10、删除表                                        drop table person;

11、修改表              语法格式:    alter table 表名 +操作;

  a、删除info字段          语法格式:    alter table 表名 drop 字段;  

                  alter table person drop info;  

  b、在当前表中添加字段     语法格式:  alter table 表名 add 字段 数据类型;

                  alter table person add sex boolean;

  c、修改某一个字段的数据类型  alter table 表名 modify 字段 新的数据类型;

                  alter table person modify name char(32);

  d、同时修改字段名字和字段数据类型   语法格式:  alter table 表名 change 老字段 新字段  新的数据类型;

                      alter table person change sex gender int; 

二、MySQL常用数据类型

1、tinyint(n) 用于存储小整数值,括号内的n为字段的最大长度 。

例:tinyint(2)指定字段类型为整数,长度最大为2。

2、int(n)用于存储大整数值;括号内的n为字段的最大长度,可不写,默认11位

3、decimal(M,D)用于存储小数值,M为字段最大位数,D为小数点后最大位数。

例:decimal(9,3)指定字段最多9位,小数点后最多三位。

4、char(n) 用于存储字符串的定长字符串,字段长度固定占n位

5、varchar 用于存储字符串的变长字符串,字段最多n位

注:varchar与char的区别在于varchar的长度可变,字段实际需要几位便占几位,更能节省内存。

6、text 用于存储文本数据,varchar和char做大只能存储255个字符,超过255个字符的字符串只能以文本的形式存储。

7、timestamp、时间戳,用于存储混合日期和时间值。

alter table person add regTime timestamp default current_timestamp;

时间戳类型的一个字段如果将默认值设为current_timestamp,在写入一条数据时,这条数据的这个字段的默认值为变为写入数据的时间。

三、对表中数据的增删改操作

1、插入数据

语法:insert into 表名称 values (值1, 值2,....),    必须安照表的字段顺序写入全部对应类型数据

例:  insert into person values(1, "盖伦", 12, 89272.78, 1,now());

或  insert into 表名称 (列1, 列2,...) values (值1, 值2,....)  后面的值需与前面的的保存对应,但前面的列的顺序可以随意,且不要求写出全部字段名,未出现的字段会符默认值。

例:  insert into person (id, name, age, salary) values (2, "亚索", 34, 27288.98);

可一次插入多条数据,数据之间用“,”分隔

例:  insert into person(id, name) values(4, "世齐"), (5, '永杰'),(6, "狗蛋");

2、删除数据

语法:delete from 表名称 where 列名称 = 值

例1:delete from person where id = 4;

例2:delete from person where name = "盖伦";

例3:delete from person where id in(2,3, 5);  #删除id为2、3、5的数据

例4:delete from person;  #表名后没有限制条件,删除表中所有数据。

3、修改数据

语法: update 表名称 set 列名称1 = 新值1,列2=新值2,列3=新值3.... where 列名称 = 某值

例:  update person set name="盖伦", age = 89 where id = 1;

4、事务的操作(入门)

使用事务的目的是保证数据的安全。

事务内的全部操作要么全部成功,要么全部失败。

例如:张三要转给李四100元,在数据库的具体操作分为两步

1、使张三账户减少100元;

2、使李四账户增加100元;

未使用事务时,在操作1完成后,如果有意外情况(如服务器宕机)导致转账操作不能继续进行第2步

就会出现转出了100元,李四却未收到的情况。

开启事务后,操作1完成后,操作结果不会直接提交,要等到后续操作全部成功后,所有结果一同提交,

若后续有某个操作因意外情况失败,则会对操作进行回滚,将一切回复到未开始操作的状态。

开启事务(即关闭自动提交)

set autocommit=0; #autocommit为0时自动提交关闭,为1时自动提交开启。

增删改sql  不会自动提交

会有两种状态:
  回滚: roolbakc; 增删改sql语句没有执行
  提交: commit; 增删改sql语句执行

 

 

标签:操作命令,表名,数据类型,id,学习,person,MySQL,table,alter
From: https://www.cnblogs.com/y15136702274/p/17512576.html

相关文章

  • mysql随笔
    备份exchangedb库下的systemtable表mysqldump--defaults-extra-file=/etc/my_pass.txt--flush-logs--single-transaction--set-gtid-purged=OFFexchangedbsystemtable>/data/system_config.sql查看binlog执行的具体操作/usr/bin/mysqlbinlog--no-defaults-v-v--bas......
  • linux D-Bus学习第一天:一次简单的信号通讯
    由于blelinux开发需要,所现在开始学习D-Bus,看到了这篇博客,收获颇丰并对其有了大概的了解博客1:这里现在对之前D-Bus安装时的测试程序进行分析,了解各个函数的含义以及为何使用//服务端代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<dbus/dbus.h......
  • std::quoted试用学习
    std::quoted是干啥用的,有啥作用?看是c++14和17中加入的。quoted这个单词似乎在计算机里面就有着特殊的意思,可惜没记住。英文原版资料看的少。  在cppreference网站中的示例如下:(https://en.cppreference.com/w/cpp/io/manip/quoted)voiddefault_delimiter(){conststd......
  • Markdown学习
    Markdown学习标题字体黑体黑体斜体斜体斜黑体斜黑体删除删除引用随心所欲地活着,努力并热爱着图片![截图](D:\新建文件夹\1-edit(1).jpg)超链接B站链接列表ABCDABCD表格名字性别生日张三男1979.1.2李四......
  • JMeter使用学习记录
    一、安装1.下载JMeterhttps://jmeter.apache.org/download_jmeter.cgi下载安装文件到本地2.安装JDKhttps://www.oracle.com/java/technologies/downloads/3.切换中文进入bin文件夹打开jmeter.properties#language=en下增加#language=zh_CN二、使用1.进入安装文件夹......
  • MySqlException(0x80004005) Reading from the stream has failed 远程主机强迫关闭了
    不同客户端电脑连接服务器数据库,通过navicat管理工具可以正常连上,但是通过程序连接提示MySqlException(0x80004005)Readingfromthestreamhasfailed远程主机强迫关闭了一个现有的连接(注意:部分电脑通过程序也是可以正常连接服务器数据库的)解决方法:服务器重新安装Micr......
  • MySQL 锁表后快速解决方法 及 MySQL中的锁
    (1)遇到锁表快速解决办法依次执行1-6步,运行第6步生成的语句即可。如果特别着急,运行126步以及第6步生成的kill语句即可。 第1步查看表是否在使用。showopentableswherein_use>0;如果查询结果为空。则证明表没有在使用。结束。mysql>showopen......
  • JavaScript学习 -- 内置函数(Math和Date)
    一、Date函数letdate=newDate()console.log("当前日期和时间:"+date)console.log("当前日期和时间:"+date.toLocaleString())console.log("年份:"+date.getFullYear())console.log("月份:"+(parseInt(date.getMonth())+1))console.log("日:"......
  • 修改xampp中的mysql的密码报错,ERROR 1348 (HY000): Column 'Password' is not updatab
    xampp中的mysql(MariaDB)默认密码为空,进入mysql的bin目录,输入mysql-uroot-p,回车,无密码登录:查看所有数据库,选择mysql数据库:showdatabases;usemysql;使用update语句修改密码报错:ERROR1348(HY000):Column‘Password’isnotupdatable使用如下命令修改密码,并没有效果:使......
  • dsu on tree 学习笔记
    dsuontree学习笔记引入dsu是并查集的缩写,然鹅本算法和并查集没啥关系。当然,dsuontree也有中文名字:树上启发式合并。也就是说,这个算法是用于处理一些树上信息的合并的。dsuontree和莫队一样,都是优雅的暴力。优雅是因为思想很优雅,暴力是因为所有修改都是暴力做的——没......