.
数据库的发展历程
? ? ? ? ?
没有数据库,使用磁盘文件存储数据; 层次结构模型数据库; 网状结构模型数据库;
关系结构模型数据库:使用二维表格来存储数据; 关系-对象模型数据库;
理解数据库
? RDBMS = 管理员(manager)+仓库(database) ? database = N个table ? table:
? 表结构:定义表的列名和列类型! ? 表记录:一行一行的记录! Mysql安装目录:
? bin目录中都是可执行文件;
? my.ini文件是MySQL的配置文件;
相关命令:
? 启动:net start mysql; ? 关闭:net stop mysql;
? mysql -u root -p 123 -h localhost;
? -u:后面的root是用户名,这里使用的是超级管理员root;
? -p:后面的123是密码,这是在安装MySQL时就已经指定的密码; ? 退出:quit或exit; sql语句 语法要求 ? ? ? 分类
?
SQL语句可以单行或多行书写,以分号结尾; 可以用空格和缩进来来增强语句的可读性; 关键字不区别大小写,建议使用大写;
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等; ? DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
基本操作
? ? ? ? ?
查看所有数据库名称:SHOW DATABASES;
切换数据库:USE mydb1,切换到mydb1数据库;
创建数据库:CREATE DATABASE [IF NOT EXISTS] mydb1; 修改数据库编码:ALTER DATABASE mydb1 CHARACTER SET utf8 创建表:
CREATE TABLE 表名(
.
.
? ? ? ? ? 1. 2. 3. 4. 5.
列名 列类型, 列名 列类型, ...... );
查看当前数据库中所有表名称:SHOW TABLES;
查看指定表的创建语句:SHOW CREATE TABLE emp,查看emp表的创建语句; 查看表结构:DESC emp,查看emp表结构; 删除表:DROP TABLE emp,删除emp表; 修改表:
修改之添加列:给stu表添加classname列:
ALTER TABLE stu ADD (classname varchar(100));
修改之修改列类型:修改stu表的gender列类型为CHAR(2): ALTER TABLE stu MODIFY gender CHAR(2);
修改之修改列名:修改stu表的gender列名为sex: ALTER TABLE stu change gender sex CHAR(2); 修改之删除列:删除stu表的classname列: ALTER TABLE stu DROP classname;
修改之修改表名称:修改stu表名称为student: ALTER TABLE stu RENAME TO student;
其他常用命令:
mysql基本操作命令
一、数据库操作 1.新增数据库
create database 数据库名字 [数据库选项];
数据库选项:规定数据库内部该用什么进行规范 字符集:charset 具体字符集(utf8)
校对集:collate 具体校对集(依赖字符集)
2.查看数据库 2.1查看所有的数据库
show databases;
匹配查询:
show databases like 'pattern'; #pattern可以使用通配符
_:下划线匹配,表示匹配单个任意字符,如:_s,表示任意字符开始,但是以s
结尾的数据库
.
.
%:百分号匹配,表示匹配任意个数的任意字符,如:student%,表示以student开始的所有数据库
2.2查看数据库的创建语句
show create database 数据库名字;
3.修改数据库
数据库名字在mysql高版本中不允许修改,所以只能修改数据库的库选项(字符集和校对集) alter database 数据库名字 [数据库选项]; eg:alter database stu charset utf8; 4.删除数据库
对于数据库的删除要谨慎考虑,是不可逆的。 drop database 数据库名字; 4.选择数据库
use 数据库名字;
二、数据表操作(字段) 1.新增数据表
create table 表名(
字段名1 数据类型 comment '备注...', 字段名2 数据类型 comment '备注...',
.... #最后一行不需要逗号
)[表选项];
表选项:
1)字符集:charset/character set(可以不写,默认采用数据库的) 2)校对集:collate
3)存储引擎:engine = innodb(默认的):存储文件的格式(数据如何存储)
.
.
注意:创建数据表的时候,需要指定要在哪个数据库下创建。创建方式有隐式创建和显式创建
1)显式创建:create table 数据库名字.数据表名字 2)隐式创建:use 数据库名字;
2.查看数据表 2.1查看所有的数据表
show tables;
2.2查看表使用匹配查询
Show tables like ‘pattern’; #与数据库的pattern一样:_和%两个通配符 2.3查看数据表的创建语句
show create table 数据表名字; 2.4查看数据表的结构 desc 数据表名字;
3.修改数据表 3.1修改表名字
rename table 旧表名 to 新表名; 3.2修改表选项(存储引擎,字符集和校对集)
alter table 表名 [表选项];
3.3修改字段(新增字段,修改字段名字,修改西段类型,删除字段)
新增字段:alter table 表名 add [column] 字段名字 数据库类
型 [位置first/after];
位置选项:first 在第一个字段
after 在某个字段之后,默认就是在最后一个字段后面
.
.
修改字段名称:alter table 表名 change 旧字段名字 新字段名字
字段数据类型 [位置];
eg:alter table student name fullname varchar(30) after id; 修改字段的数据类型:alter table 表名 modify 字段名字 数据类型
[位置];
删除字段:alter table 表名 drop 字段名字;
4.删除数据表
三、数据操作 1. 新增数据
drop table 表名;
inser into table 表名 [(字段列表)] values (值列表);
2.查看数据
select */字段列表 from 表名 [where条件];
3.修改数据
update 表名 set 字段名 = 值 where 条件;
注意:使用update操作最好配合limit 1使用,避免操作大批量数据更新错误. 4.删除数据
delete from 表名 where 条件;
注意:没有where 条件 就是默认删除全部数据.
四、列属性(字段)
1.删除主键:alter table 表名 drop primary key;
.
数据库基本知识和基础sql语句



