MySql
数据库(DataBase,简称DB)
按照数据结构来组织、存储和管理数据的仓库。
- 关系型数据库 (SQL)
- 建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
- MySQL , Oracle , SQL Server , SQLite , DB2 , …
- 非关系型数据库(NOSQL)
- 非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
- Redis , MongoDB , …
SQLyog
一个管理MySQL数据库的软件工具,推荐
MySql连接
DOS命令行窗口连接
[root@host]# mysql -u root -p
一些基本的数据库操作命令:
update user set password=password('123456')where user='root'; 修改密码
flush privileges; 刷新数据库
show databases; 显示所有数据库
use dbname; 打开某个数据库
show tables; 显示数据库mysql中所有的表
describe user; 显示表mysql数据库中user表的列信息
create database name; 创建数据库
use databasename; 选择数据库
exit; 退出Mysql
命令行操作数据库
-
创建数据库
create database [if not exists] 数据库名;
-
删除数据库
drop database [if exists] 数据库名;
-
查看数据库
show databases;
-
使用数据库
use 数据库名;
数据值和列类型
列类型 : 规定数据库中该列存放的数据类型
-
数值类型
类型 取值范围 字节 tinyint 有符号:-128~127 无符号:0~255 1 smallint 有符号:-32768~32767 无符号:0~65535 2 mediumint 有符号:-8388608~8388608 无符号:0~1677215 3 int 有符号:-21474836482147483647无符号:04294967295 4 bigint 有符号:-263~263-1 无符号:0~2^64-1 8 float -+1.175494351E-38 ~ -+3.402823466E+38 4 double -+2.2250738585072014E-308 ~ -+1.7976931348623157E+308 8 -
字符串类型
类型 最大长度 char[(M)] M varchar[(M)] 变长 tinytext 2^8-1个字节 text 2^16-1个字节 -
日期和时间型数值类型
类型 取值范围 说明 DATA 1000-01-01~9999-12-31 日期 YYYY-MM-DD TIME -838:59:59~838:59:59 时间 hh-mm-ss DATETIME 1000-01 00:00:00~9999-12-31 23:59:59 YYYY-MM-DD hh-mm-ss TIMESTAMP 197010101000000~2031年的某个时刻 YYYYMMDDhhmmss YEAR 1901~2155 YYYY -
NULL值
没有值或者未知值,不要使用NULL值进行算数运算
数据字段属性
UnSigned :
- 无符号的
- 声明该数据列不允许负数 .
ZEROFILL :
- 0填充的
- 不足位数的用0来填充 , 如int(3),5则为005
Auto_InCrement :
- 自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)
- 通常用于设置主键 , 且为整数类型
- 可定义起始值和步长
- 当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
- SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)
NULL 和 NOT NULL :
- 默认为NULL , 即没有插入该列的数值
- 如果设置为NOT NULL , 则该列必须有值
DEFAULT :
- 默认的
- 用于设置默认值