MySql数据库
1.什么是数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或者多个不同的API用于创建、访问、管理、搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库。
2.RDBMS的特点
-
数据以表格的形式出现
-
每行表示一条记录(一条信息)
-
每列为记录所对应的属性
-
许多的行和列组成一张数据表
-
若干的表组成database
3.使用命令行操作数据库
1> 连接数据库
mysql -u root -p密码
2>查看数据库
show databases
3>切换数据库
use 数据库名称
4>创建数据库
creat database 数据库名
5>删除数据库
drop database 数据库名
4.通过结构化查询语句SQL操作关键性数据库
名称 | 解释 | 命令 |
---|---|---|
DDL(数据定义语言) | 定义和管理数据对象 | CREATE DROP ALTER |
DML(数据操作语言) | 用于操作数据库对象中所包含的数据 | INSERT UPDATE DELETE |
DQL(数据查询语言) | 用于查询数据库数据 | SELECT |
DCL(数据控制语言) | 用来管理数据库的语言,包括管理权限及数据更改 | COMMIT ROLLBACK GRANT |
1>DDL
创建数据表
例: CREATE TABLE IF NOT EXISTS `students`( `sid` VARCHAR(200) PRIMARY KEY NOT NULL COMMENT'学号', `score` VARCHAR(100) UNIQUE NOT NULL COMMENT'成绩' )ENGINE=INNODB DEFAULT CHARSET=utf8;
列类型(一般用的频繁)
varchar(长度)
int
float
date/datetime
数据字段属性
UnSigned:无符号的 声明该数据列不允许负数。
ZEROFILL:0填充的 不足位数的用0来填充
Auto_InCrement:自动增长的,每增加一条数据,会自动在上一个记录数上加1(默认) 通常用于设置主键,且为整数 ,可定义起始值和步长 。
当表设置步长(AUTO_INCREMENT=100);只影响当前表
SET@@auto_increment_increment=5;影响所有使用自增的表(全局)
NULL和NOT NULL:默认为NULL,即没有插入该列的数值,如果设置为NOT NULL,则该列必有值。
DEFAULT:默认的,用于设置默认值
例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认值为“男”的值
primary key:用于设置主键
unique:用于设置唯一性,不能重复,但是可以为空
ENGINE=innodb DEFAULT CHARSET=utf8; SQL引擎及其约束和字符编码
显示表结构:
desc 表名:
删除数据表(小心使用!):
drop table 表名 注:同时删除表数据和结构
修改表
修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
alter table userss rename as users
添加字段:ALTER TABLE 表名 ADD 字段名 列类型 属性
ALTER TABLE users ADD `password` VARCHAR(200) COMMENT'密码'; //一次性添加多个字段 ALTER TABLE users ADD `tel` VARCHAR(200), ADD `address` VARCHAR(200);
修改字段:ALTER TABLE 表名 MODIFY 字段名 列类型 属性
alter table users modify `gender` varchar(100) default `男`
删除字段:ALTER TABLE 表名 DROP 字段名
alter table users drop `tel`, drop `gender`