打开数据库连接之前:一定要保证MySQL服务已经开启了。那么如何启动MySQL服务?除了可以在安装的时候勾选随着开机自启动,还可以在运行 窗口(windows)为例子,输入以下内容:
net start 命令名字:开启一个服务,如:net start MySQL net stop 命令名字:关闭一个服务器,如:net stop MySQL
方式1:进入MySQL命令行, 在命令行中输入密码; 方式2:在运行窗口中: 格式:mysql -u账户 -p密码 -h数据库服务器安装的主机的ip(如果是本机可以使用localhost) -P数据库端口 mysql -uroot -padmin -h127.0.0.1 -P3306 上面假设我的账号是root 密码是admin 若连接的数据库服务器在本机上,并且端口是3306。 则可以简写: mysql -uroot -padmin
Navicat for MySQL[1] 其实就是MySQL 的可视化工具,是一款强大的 MySQL 数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。
数据库对象:存储,管理和使用数据的不同结构形式,如:表、视图、存储过程、函数、触发器、事件、索引等。
数据库分两种: 1):系统数据库(系统自带的数据库):不能修改 information_schema:存储数据库对象信息,如:用户表信息,列信息,权限,字符,分区等信息。 performance_schema:存储数据库服务器性能参数信息。 mysql:存储数据库用户权限信息。 test:任何用户都可以使用的测试数据库。
2):用户数据库(用户自定义的数据库):一般的,一个项目一个用户数据库。
查看数据库服务器存在哪些数据库: SHOW DATABASES; 使用指定的数据库: USE database_name; 查看指定的数据库中有哪些数据表: SHOW TABLES; 创建指定名称的数据库: CREATE DATABASE database_name; 删除数据库: DROP DATABASE database_name;
注意:;是必须的,不然不会正确显示
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供不同的功能和能力。 通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
MyISAM:拥有较高的插入,查询速度,但不支持事务,不支持外键。 InnoDB:支持事务,支持外键,支持行级锁定,性能较低。
InnoDB 存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但对比MyISAM,处理效率差,且会占用更多的磁盘空间以保留数据和索引。
最常用的整数类型: MySQL列类型 Java数据类型 INT/INTEGER: int/Integer BIGINT: long/Long
MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。 例如,指定一个字段的类型为 INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。 需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。一般不用指定位宽。 age int(2),并不是代表age最多存储99,而是指查询age值得时候使用两个0来占位.
FLOAT[(s,p)] : DOUBLE[(s,p)] : 小数类型,可存放实型和整型 ,精度(p)和范围(s) money double(5,2): 整数和小数一共占5位.其中小数占2位,最大值:999.99,最小-999.99. 都不够精确。 定点数据类型: DECIMAL,高精度类型,金额货币优先选择。
MySQL列类型 Java数据类型 FLOAT float/Float DOUBLE double/Double DECIMAL BigDecimal
char(size) 定长字符,0 - 255字节,size指N个字符数,若插入字符数超过设定长度,会被截取并警告。 varchar(size) 变长字符,0 - 255字节,从MySQL5开始支持65535个字节,若插入字符数超过设定长度,会被截取并警告。 一般存储大量的字符串,比如文章的纯文本,可以选用TEXT系列类型。 注意:在MySQL中,字符使用单引号引起来。 相当于Java中字符串(String,StringBuilder/StringBuffer);
日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。 注意:在MySQL中,日期时间值使用单引号引起来。 相当于Java中Date,Calender。
BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB: 存放图形、声音和影像,二进制对象,0-4GB。 但是,在开发中,我们一般存储二进制文件保存路径的路径存储在数据库中。 BIT:我们一般存储0或1,存储是Java中的boolean/Boolean类型的值。
1.先进入某一个数据库.(使用USE database_name;命令) 2.输入建表的命令: CREATE TABLE 表名( 列名1 列的类型 [约束], 列名2 列的类型 [约束], …. 列名N 列的类型 约束 ); 注意:最后一行没有逗号
若在建表中使用到了数据库的关键字.
比如新建一张订单表:(order),但是order是数据库中的关键字(排序使用).
表名:t_order,若费用使用order这个单词.此时使用反引号()括起来,
order`.
一般,起表名为:t_名字。
例子:创建一张表
创建一张学生信息表,记录学生的id,name,age.
CREATE TABLE `t_student`
(
`id ` bigint,
`name ` varchar(20),
` age ` int
);
查看表结构: DESC table_name; 查看表的详细定义(显示表的定义SQL语句): SHOW CREATE TABLE table_name; 删除表: DROP TABLE table_name;
1.非空约束:NOT NULL,不允许某列的内容为空。 2.设置列的默认值:DEFAULT。 3.唯一约束:UNIQUE,在该表中,该列的内容必须唯一。 4.主键约束:PRIMARY KEY, 非空且唯一。 5.主键自增长:AUTO_INCREMENT,从1开始,步长为1。 6.外键约束:FOREIGN KEY,A表中的外键列. A表中的外键列的值必须参照于B表中的某一列(B表主键)。
主键设计,唯一标识某一行数据的: 1:单字段主键,单列作为主键,建议使用。 复合主键,使用多列充当主键,不建议。 2:主键分为两种: 1).自然主键:使用有业务含义的列作为主键(不推荐使用),比如身份证号码; 2).代理主键:使用没有业务含义的列作为主键(推荐使用);