为什么要学习数据库
- 岗位技能需求
- 现在的世界,的数据者得天下
- 存储数据的方法
- 程序,网站种大量数据如何长久保存
什么是数据库
- 数据库(Database,简称DB)
- 概念:长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据"仓库"
- 作用:保存,管理数据
数据库总览
- 关系型数据库(SQL)
- MySQL,Oracle,SQL Server…
- 非关系型数据库(NOSQL)
- Redis,MongaDB…
数据库管理系统DBMS
Database Management System
数据管理软件,科学组织存储数据,高效
MySQL简介
- 概念:
是现流行的开原,免费的关系型数据库 - 特点:
免费,开源数据库
小巧.功能齐全
使用便捷
可运行于windows或Linux操作系统
可适用于中小型甚至大型网站
数据库语句
mysql -h服务器主机地址 -u用户名 -p用户密码//连接数据库
quit//退出数据库
show databases;//展示数据库
use 数据库名;//使用哪个数据库
show tables;//显示表(不要修改)
select * from user;//从user这个表查询所有记录
select * from user\G;换行从user这个表查询所有记录
update user set password=password('1234') where user='root'//修改user这个表,设置root这个表的密码
# 是注释
结构化查询语句SQL
- 结构化查询语句分类:
建库
命令行操作数据库
- 创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名;
- 删除数据库
DROP DATABASE [IF EXISTS]数据库名;
- 查看数据库
SHOW DATABASES;
使用数据库
USE 数据库名;
创建表
CREAT TABLE [IF NOT EXISTS] `表名`(
`字段名1` 列类型[属性][索引][注释],
`字段名2` 列类型[属性][索引][注释],
......
`字段名n` 列类型[属性][索引][注释]
)[表类型][表字符集][注释]
数值类型
字符串类型
日期和时间类型数值类型
数据字段属性
主键:唯一区分一条数据记录的,不可重复
数据字段属性:
CREAT TABLE IF NOT EXISTS student(
id INT(4) PRIMARY KEY AUTO_INCREMENT COMMENT'主键,学号',
pwd VARCHAR(20) DEFAULT '123456',NOT NULL COMMENT'密码',
`name` VARCHAR(30) DEFAULT'匿名'NOT NULL COMMENT'姓名',
sex VARCHAR(2) NOT NULL DEFAULT'男',
birthday DATETIME,
address VARCHAR(100),
email VARCHAR(50)
)
结果
查看数据库的定义
SHOW CREATE DATAASE school;
查看数据表的定义
SHOW CREATE TABLE student;
显示表结构
DESC student;
设置严格模式
SET sql_mode='strict_trans_tables';
改变自增列初始值和步长
CREATE TABLE 他本来(
id INT(4) PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL
)AUTO_INCREMENT=100;(局部影响)
#改变自增列的步长
SET @@auto_increment_increment=5;(全局影响)
查看mysql所支持的引擎类型(
表)
SHOW ENGINES;
设置字符集
CHARSET=utf8//设置表字符集
CHARCTER SET utf8//设置库的字符集
character utf8//设置字段
修改数据表
重命名一个表
ALTER TABLE tab1 RENAME AS table1
添加字段
ALTER TABLE 表名 ADD 字段名 列类型 [属性]
修改字段
ALTER TABLE 表名 MODIFY 字段名 列类型[属性]
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型[属性]
删除字段
ALTER TABLE 表名 DROP 字段名
删除表
DROP TABLE IF EXISTS tab4;