数据库mysql的基本命令
问题分析
- 当数据量很大的时候,所有数据都集中在一个文本文件中的话,读写会很困难,内存消耗大,速度很慢
- 操作很麻烦,因为读写都要根据指定的格式尽心解析,不通用
- 每次获取数据都要全部数据重新读写,不能通过对索引对指定的数据进行读写
- 数据冲突的解决方案要完全依赖Java app去实现
- 更多的功能,像排序,也要完全通过Java app实现
知识点
1. 数据库中的关键结构组织和属性
表 ——是存储数据的最基本单元
表里面包含有字段和数据
字段:
字段名,字段类型,主键,是否允许为空,默认值
字段类型就是字段的数据类型
比较常用的有 字符串varchar/text 整型int 浮点型double 日期datetime/date
这里简单说一下date和datetime区别
DATETIME类型可用于需要同时包含日期和时间信息的值。
MySQL 以 ‘YYYY-MM-DD HH:MM:SS’格式检索与显示 DATETIME 类型。支持的范围是’1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。(“支持”的含义是,尽管更早的值可能工作,但不能保证他们均可以。)
DATE类型可用于需要一个日期值而不需要时间部分时。MySQL 以 ‘YYYY-MM-DD’ 格式检索与显示DATE值。支持的范围是 ‘1000-01-01’ 到’9999-12-31’。
主键:一条数据的主索引,设为主键的字段,数据不能重复,一个表中只有一个主键,可用于表示当前这条数据
是否允许为空
字段属性,表示插入一条数据的时候,是否允许不插入该字段对应的数据(即为null),主键不能为空
默认值
字段属性,可不设置,表示插入一条数据的时候,如果不插入某字段对应的数据,系统会自动插入其默认值
2. MySQL基本命令
注意每一句都要以分号结束
查看有哪些数据库 show databases ; 进入某个库 use 库名; 查看当前库中有哪些表 show tables ; 查看该表具体结构 desc 表名 ; 新建库,库名为test create database test ; 删除库 drop database if exists test ; 新建表 create table account1{ code ) not null, password ) not null, ,) not null, primary key(code) } 删除表 drop table if exists account1 ; 插入全部字段数据 insert into 表名 value(字段1值, 字段2值, 字段3值); ,100.00); ,200.00); ,300.00); 注意:字符串用英文单引号引住 插入部分字段数据: insert into 表名(字段1, 字段2) value(字段1值, 字段2值); ); 允许为空(表account2) create table account2( code ) , password ) , ,), primary key(code) ); 设默认值(表account3) create table account3( code ) not null, password ) not null, ,) not null default 0.0, primary key(code) ); 自增(表account4) 如果一个主键是数字类型,可以设置为自增字段,那么插入数据时,不用插入主键,主键会从1开始递增 create table account4 ( code ) not null auto_increment, password ) not null, ,) not null, primary key (code) ); 查询数据 整表查询: select * from 表名;(*表示所有字段) 个别字段查询: select 字段1,字段2 from 表名; 条件查询:where后面带出条件语句 '; '; ; (and表示“且”) ; (or表示“或”) select * from account1 where money>200.00; 修改数据 update 表名 set 字段1=值1,字段2=值2;(一般要加条件) ;(不加条件,整个表的数据被修改) '; (只修改该条件对应的数据) , '; (同时修改多个字段) 删除数据 delete from 表名;(一般要加条件) delete from account1;(不加条件,整个表的数据被删除) '; (只删除该条件对应的数据)
3、varchar(6)、int(6)、double(5,2)括号中的数字分别代表什么意思?
varchar(6):插入的字符串字段不能超过6个字符
int(6):这里的6并不是只能插入6位以内的数字,对于普通的int字段来说,int(6)与int(11)没有区别,插入的数字只要不超过int的范围(4字节)即可;对于设置为补零(zerofill)的int字段,int(6)表示当数位不足6位时,前面就补零至6位,如插入333,系统会补零为000333(补零的情况比较少用,暂不详述)
double(5,2):保留2位小数后,整个长度(含小数)不能超过5位(如:123.123在范围内,可以插入;1231.23在范围外,不能插入)
数据库mysql的基本命令的更多相关文章
- Linux 对mysql远程授权连接操作 和 查看mysql数据库和表 基本命令
Linux 对mysql远程连接的授权操作 首先linux连接mysql数据库 授权: grant all on *.* to ' with grant option; //允许账户root从任何主机 ...
- 烂泥:mysql数据库使用的基本命令
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 1.连接数据库的格式 mysql -h IP -u用户名 -p密码; 1.1连接远程数据库 mysql -h 192.168.1.214 -uroot ...
- MySQL的基本命令
MySQL的基本命令 启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库 ...
- Python创建插入数据库MySQL
首先要在控制台创建好数据库 mysql -u root -p 创建数据库 查看数据库 -------------------更新分割线(上面为新增...太久没用都忘了SQL基本命令了)-------- ...
- mysql 的基本命令
引子:Excel 最简单的数据库 Mysql:属于大型数据库 一.基本命令: 启动服务: 说明: 以管理员身份运行cmd 格式: net start 服务名称 实例: net start mysql ...
- mysql的基本命令行操作
mysql>CREATE DATABASE imooc; //创建数据库 mysql> USE imooc ;//选择数据库 mysql> SELECT DATABASE();//查 ...
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...
- Robot Framework-DatabaseLibrary数据库(MySql)
Robot Framework-Mac版本安装 Robot Framework-Windows版本安装 Robot Framework-工具简介及入门使用 Robot Framework-Databa ...
- paip.导入数据英文音标到数据库mysql为空的问题之道解决原理
paip.导入数据英文音标到数据库mysql为空的问题之道解决原理 #---原因:mysql 导入工具的bug #---解决:使用双引号不个音标括起来. 作者 老哇的爪子 Attilax 艾龙, E ...
随机推荐
- Java多线程之notifyAll的作用域
notifyAll()因某个特定锁而被调用时,只有等待这个锁的任务才会被唤醒. package Thread.Wait; import java.util.Timer; import java.uti ...
- DTD限制XML文件
需要通过使用Microsoft Visual Studio 2010.XMLSpy或者eclipse软件来检查校验 文件中有中文,需要存为utf-8编码 book.dtd <!ELEMENT 书 ...
- Android 开发中常用 ADB 命令总结
adb 的全称为 Android Debug Bridge,就是起到调试桥的作用.通过 adb 我们可以在 Eclipse 中方便通过 DDMS 来调试 Android 程序,说白了就是 debug ...
- ubuntu 命令学习大全
http://wiki.ubuntu.org.cn/UbuntuSkills#.E6.98.BE.E7.A4.BA.E5.BD.93.E5.89.8D.E7.A1.AC.E4.BB.B6.E4.BF. ...
- 防止ARP欺骗的方法!!!
防止ARP欺骗的方法!!! 根据鄙人上网经常掉线,怀疑可能是某人使用网络剪刀手,网络执行官,局域网终结者等工具.经过搜索有关资料,有了一点点防范经验,借以参考~! 一 首先我们来了解下这类攻击工具的原 ...
- [ActionScript3.0] 传递任意数量的参数
function setAgument(a:int,...rest):void{ for(var i:int=0;i<rest.length;i++){ trace(rest[i]); }}se ...
- zkclient
zkclient 快速指南 Maven依赖 最新的版本发布在Maven中央库. <dependency> <groupId>com.github.adyliu</grou ...
- Intellisense in Visual Studio for Microsoft Dynamics CRM 2016
Intellisense in Visual Studio for Microsoft Dynamics CRM 2016 posted by dynamicsnick on may 18, 2016 ...
- 使用commons-codec包加密字符串(MD5,SHA1,BASE64)
1. [代码]MD5 String str = "abc"; DigestUtils.md5Hex(str); //附.net生成MD5的方法,生成内容跟java一致: Strin ...
- [SQL] cast 与 convert 都在什么情况下使用
CONVERT(data_type,expression[,style]) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,ch ...