MYSQL学习笔记(二)基本数据库操作命令&数据库表

Mysql中把若干个类型相同的表的集合叫做数据库,Mysql服务器管理着多个数据库,每个数据库下面都可以有若干个表。

1.启动和关闭数据库服务器;
net start mysql80 (注意没有分号)
net stop mysql80
客户端的登录,退出:
mysql (-h 服务器主机地址)-uroot -p密码 (注意没有分号)
\q (没有分号)

2.结构化查询语言(sql)
分类如下:在这里插入图片描述

3.基本的数据库操作命令(写在Mysql后面的命令要加上分号,可在CMD下运行):
操作数据库->操作数据库中的表->操偶做数据库中表的数据
3.1操作数据库

show databases; 显示所有数据库
create database [ IF NOT EXISTS] name; 创建数据库
use dbname; 选择数据库,如果表名或字段名是一个特殊字符,就需带'';ep:use 'dbname'
drop  database [IF EXISTS] dbanme;  删除指定的数据库
flush privileges;  刷新数据库

update user set password=password('123456')where user='root'; 修改密码
show tables; 显示数据库mysql中所有的表
describe user; 显示表mysql数据库中user表的列信息
;  \g   \G 都可以作为命令结束的符号;


exit; 退出MySql的客户端登录
? 命令关键词 : 寻求帮助
-- 表示注释
IF EXISTS  和  IF NOT EXISTS在创建和删除数据库时都可以避免错误的产生

4.1操作数据库表
数据库表的创建(属于DDL的一种),语法格式如下(反引号来区分保留字和普通字符):

create table [if not exists] `表名`(
    '字段名1' 列类型 [属性][索引][注释],
    '字段名2' 列类型 [属性][索引][注释],
    #...
    '字段名n' 列类型 [属性][索引][注释]
)[表类型][表字符集][注释];
CREATE TABLE IF NOT EXISTS `student` (
`id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码',
  `sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性别',
  `birthday` datetime DEFAULT NULL COMMENT '生日',
  `address` varchar(100) DEFAULT NULL COMMENT '地址',
  `email` varchar(50) DEFAULT NULL COMMENT '邮箱',
  PRIMARY KEY (`id`)             --PRIMARY KEY主键 一般一个表,只有一个唯一的主键
) ENGINE=InnoDB DEFAULT CHARSET=utf8

SHOW CREATE DATABASE school --查看创建数据库的语句
SHOW CREATE TABLE student --查看student数据表的定义语句
DESC student --显示表的结构

4.2Mysql 数据表的类型:

在这里插入图片描述
常规使用操作:

  • MYLSAM 节约空间,速度较快
  • INNODB 安全性高,事务的处理,多表多用户操作。

在物理空间存储的位置
所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库
本质还是文件的存储!

MYSQL引擎在物理文件上的区别

  • INNODB在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件
  • MYLSAM对应文件(*.frm 表结构定义文件; *.MYD数据文件(data); *.MYI 索引文件(index))

设置数据库表的字符集编码

CHARSET=utf8

不设置的话,是mysql默认的字符集编码,不支持中文
在my.ini中配置默认的编码

character-set-server=utf8

4.3数据库表的修改:

修改表名 :
ALTER TABLE 旧表名 RENAME AS 新表名
添加表的字段 :
ALTER TABLE 表名 ADD字段名 列属性[]
修改表的字段 :
ALTER TABLE 表名 MODIFY 字段名 列属性[] --修改约束,不能重命名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[] --字段重命名,修改约束都可以
删除表的字段 :
ALTER TABLE 表名 DROP 字段名

删除表 :  
DROP TABLE [IF EXISTS] 表名 

IF EXISTS为可选 , 判断是否存在该数据表
所有的创建和删除操作尽量加上判断,以免报错

注意点:

  • 字段名使用’'包裹
  • 注释 – /**/
  • sql关键字大小写不敏感

猜你喜欢

转载自blog.csdn.net/jingli456/article/details/113118043