初识mysql(每日笔记)
数据库的基本概念
- 数据库:DataBase 简称DB
- 什么是数据库?
- 用于存储和管理数据的仓库.
- 数据库的特点:
- 持久化存储数据,是将数据存储在文件中.其实数据库就是一个文件系统
- 方便存储和管理数据
- 使用了统一的方式来操作数据库
- 常见的数据软件:mysql , oracle , db2 , mongoDB , sql server等
MySQL数据库软件
-
配置mysql数据库环境
- 安装mysql: www.mysql.com
- 配置mysql的环境变量
-
mysql的登陆和退出
- 登陆
- 输入指令: mysql -uroot -p密码 (这样输入密码为明文显示)
- mysql -uroot -p 回车后再输入密码(这样输入密码为密文显示)
- 退出
- quit
- exit
- \q
- 登陆
如何操作MySQL数据库
SQL
-
什么是SQL?
- 其实就是一种所有关系型数据库的规则(必须遵守的规则), 每一种数据库操作的方式存在细微不一样的地方,成为"方言"
-
SQL通用语法
- sql语句可以单行或多行书写,以分号结尾
- 使用空格或者缩进来进行程序的可读性
- mysql数据库的sql语句不区分大小写,关键字建议使用大写方式
- 3中注释
- 单行注释:-- 注释内容 或者 # 注释
- 多行注释:/* 注释内容 */
-
SQL的分类:
名称 意义 常用命令 DDL(数据定义语言) 定义和管理数据对象,如数据库,数据表等 CREATE、DROP、ALTER 等 DML(数据操作语言) 用于操作数据库对象中所包含的数据 INSERT、UPDATE、DELETE 等 DQL(数据查询语言) 用于查询数据库数据 SELECT DCL(数据控制语言) 用来管理数据库的语言,包括管理权限及数据更改 GRANT、COMMIT、ROLLBACK 等
DDL : 操作数据库 , 表
操作数据库 : CRUD
-
C(create):创建
-
创建数据库(判断不存在 , 才创建):
create database if not exists 数据库名
-
创建数据库时指定字符集:
create database 数据库名 character set 字符集名称
-
-
R(retrieve): 查询
-
查询所有数据库的名称:
show databases
-
查询某个数据库的详细信息 (创建语句):
show create database 数据库名
-
-
U(update):修改
-
修改数据库的字符集:
alter database 数据库名 character set 字符集名称
-
-
D(delete):删除
-
删除数据库
drop database if not exists 数据库名
-
-
使用数据库
-
查询当前正在使用的数据库名称
select database()
-
使用数据库
use 数据库名
-
操作表:CRUD
-
C(create):创建
-
语法:
create table 表名称( 列名1 数据类型1, 列名2 数据类型2, 列名3 数据类型3, ... ); --注意最后一列不需要加逗号
-
常用数据类型
- 整数类型 : int
- int(10) int类型不写()默认为11
- 小数类型 : double
- double (5,2)最大为5位数,保留两位小数
- 日期:
- date:日期类型
- datetime:日期加时间
- timestamp:时间戳类型 如果不赋值,或者为null,默认使用当前时间
- 字符串:varchar
- varchar(20):指定最大字符长度
CREATE TABLE student( stu_id int(10) PRIMARY key comment'学生编号', stu_name varchar(10) not null comment'学生姓名', marjor varchar(50) comment '专业' )
- 整数类型 : int
-
复制表
create table 表名称 like 被复制的表名
-
-
R(retrieve): 查询
-
查询某个数据库所有表的名称:
show databases
-
查询表结构
desc 表名称
-
-
U(update):修改
-
修改表名
alter table 表名 rename to 新表名
-
添加一列
alter table 表名 add 列名 数据类型
-
修改列名 类型
- modify:修改属性:
alter table 表名 modify 字段名 字段属性
- change:既修改属性又可以修改名称:
alter table 表名 modify 列名 新的列名 字段属性
-
删除列
alter table 表名 drop 列名
-
-
D(delete):删除
-
删除表
drop database if not exists 表名
-
常用字段
-
unsigned:无符号的
create table course( cid int primary key, name varchar(20) not null, score float(10) unsigned, day datetime )
此sql中score属性不能存入小与0的数字
-
primary key: 设置主键
create table course( cid int primary key, name varchar(20) not null, score float(10) unsigned, day datetime )
-
zerofill:0填充的
create table course( cid int primary key, name varchar(20) not null, score float(10) unsigned zerofill, day datetime )
比如向float字段增添数据60,查看显示为:000000000060
-
auto_increment:自增 一般设置到主键上
create table course( cid int primary key auto_increment, name varchar(20) not null, score float(10) unsigned zerofill, day datetime )
-
default:默认的
给定默认值
create table student( name varchar(10) primary key, sex varchar(10) not null default "男" )
例如可以设定性别默认值为男
-
comment:注释
create table student( name varchar(10) primary key comment"学生姓名", sex varchar(10) not null default "男" )