数据库的概念
- DB(数据库 Database):存储数据的仓库,它保存了一系列有组织的数据。
- DBMS(数据库管理系统 Database Management System):数据库是通过DBMS创建和操作的容器。
- SQL(结构化查询语言 Structure Query Language):专门用来与数据库通信的语言。
3.1 SQL的优点
(1)不是某个特定数据库供应商特有的语言,几乎所有DBMS都支持SQL;
(2)简单易学;
(3)虽然简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。 - 数据库的简单操作
首先说一下,要想使用doc命令行进入mysql,那么就必须使用管理员身份打开。
如下:这里是win10系统为例。
4.1 显示所有数据库
show databases;
4.2 删掉数据库
drop database 数据库名;
可以看出 drop database school; 之后再显示所有数据库的时候,就没有school这个数据库了。
4.3 增加一个数据库
create database(if not exists) 数据库名;
从SQLyog连接数据库,可以看出,这里的数据库中就添加了一个数据库名为haoyifan。
4.4 使用一个数据库;
use 数据库名;
4.5 打开mysql数据库中所有的表;
show tables;
- 数据库表的简单操作
5.1 修改表名;
这里将school数据库中的表 grade 改为 GARDE 可以看出 数据库并不区分大小写;
5.2 创建数据表
/*create table [if not exists] `表名`(
'字段名1' 列类型 [属性][索引][注释],
'字段名2' 列类型 [属性][索引][注释],
#...
'字段名n' 列类型 [属性][索引][注释]
)[表类型][表字符集][注释];*/
CREATE TABLE `grades`(
`id` INT(2) NOT NULL AUTO_INCREMENT COMMENT '序号',
`name` VARCHAR(25) NOT NULL DEFAULT '匿名' COMMENT '姓名',
PRIMARY KEY(`id`)
);
DESC grades;
5.3 查看表结构
DESC 表名;
DESC grades;
5.4 删掉数据表
DROP TABLE (IF RXISTS) 数据表名;
DROP TABLE IF EXISTS grades;
可以看出,数据表中已经没有 grades 这个表
- 字段的简单操作;
6.1 添加字段
ALTER TABLE 表名 ADD 字段名 字段属性;
ALTER TABLE grade ADD namegrade VARCHAR(10);
6.2 修改字段 字段名;
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段属性;
ALTER TABLE grade CHANGE namegrade namename VARCHAR(15);
6.3 修改字段属性
ALTER TABLE 表名 MODIFY 字段名 字段属性;
ALTER TABLE grade MODIFY namename INT(4);
6.4 删除字段
ALTER TABLE 表名 DROP 字段名;
ALTER TABLE grade DROP namename;
可以看出,字段名为namename删掉了。
- 设置数据表字符集和数据表类型;
可以在mysql文件夹中的my.ini文件里面添加一行:
character-set-server=utf8
default-storage-engine=INNODB
默认字符集是utf8。
数据表类型是 INNODB。
-
数据字段属性
8.1 UnSigned :
无符号的
声明该数据列不允许负数 .
8.2 ZEROFILL :
0填充的
不足位数的用0来填充 , 如int(3),5则为005
8.3 Auto_InCrement :
自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)
通常用于设置主键 , 且为整数类型
可定义起始值和步长
当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表
SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)
8.4 NULL 和 NOT NULL :
默认为NULL , 即没有插入该列的数值
如果设置为NOT NULL , 则该列必须有值
8.5 DEFAULT :
默认的
用于设置默认值
例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值 -
数据值和列类型
9.1 数值类型
9.2 字符串类型
9.3 日期类型和时间型数值类型
9.4 NUll值 :没有值或者未知的值。 -
修改数据库密码: update mydql.user set authentication_string=password(‘新密码’) where user=‘root’ and Host = ‘localhost’;
-
刷新mysql的系统权限相关表:flush priviledes;
-
DDL: Data Definition Language 数据定义语言