mysql基础
Php数据库mysql学习
·Mysql服务端架构.
Mysal服务端架构有以下几层构成:..
1、数据库管理系统(最外层): DBMS,专门管理服务器端的所有内容
2、数据库(第二层): DB,专门用于存储数据的仓库(可以有很多个)
3、二维数据表(第三层): Table,专门用于存储具体实体的数据
4、 字段(第四层):Field,具体存储某种类型的数据(实际存储单元)
常用的几个关键字
Row 行
Column 列
特殊注意:
当出现打错指令时如
出现错误之后,先输入“\c试试能否退出当前语句,若不能,则需输入'\c`才会退出。
库操作
连接数据库
mysql -uroot -p
创建数据库
基本语法:create database 数据库名字 [库选项];
create database mydatabase
库选项:数据库的相关属性
字符集:charset 字符集,代表着当前数据库下的所有表存储的数据默认指定的字符集(如果当前不指定,那么采用DBMS默认的)。
校对集:collate
Create database 数据库名字 charset 字符集名称;
eg. create database nydatabase2 charset utf8;
注:第一行是字符集,第二行是校对集
显示全部
显示所有数据库:show databases;
显示部分:
基本语法:show databases like'匹配模式;
_:匹配当前位置单个字符。
%:匹配指定位置多个字符。
获取以my开头的全部数据库:'my%';
获取m开头,后面第一个字母不确定,最后为database的数据库;'m_database';获取以database 结尾的数据库:'%database';
选择查看所创建的数据库
show create database 数据库的名字;
选择数据库
基本语法:use 数据库名字;
修改数据库
修改数据库字符集(库选项),字符集和校对集 注:字符集有固定的类型,不能随意起名。
基本语法:alter database 数据库名字 charset = 字符集;
注:不可以更改数据库的名字。
删除数据库
基本语法:drop database 数据库名字;
表操作
创建表
基本语法:create table 表名(字段名 字段类型)表选项
注:表必须放到对应的数据库下,有两种方式可以将表挂入到指定的数据库下。
1、在数据表前面加上数据库名字,用“.”连接即可 eg.数据表.数据库
如:create table mydatabase2.class(
name varchar(10)
); 即可成功
2、先进入数据库,然后再创建表。
进入:use 数据库名;
表选项
Engine:存储引擎
charset:字符集。只对当前自己表有效(级别比数据库高)
collate(校对集)
复制表结构
*只复制结构,如果表中有数据不复制。
基本语法:create table 新表名 like 表名;
显示数据表
每当一个数据表创建,就会在对应的数据库下创建一些文件
显示所有表:show tables;
匹配显示表(和数据库的匹配模式是一样的)
基本语法:show tables like ‘匹配模式’
显示表结构
显示表中所包含的字段信息(名字,类型。属性等)
describe 表名
desc(简写) 表名
show columns from 表名
显示表创建语句
show create table 表名
mysql中有多种语句结束符
;与\g是一样的,表示字段在上排横着,下面跟对应的数据
\G是字段在左侧竖着,数据在右侧横着
设置表属性
表属性就是:engine,charset,collate
基本语法:alter table 表名 表选项 [=] 值
·修改表结构.
修改表名: rename table旧表名to新表名.
修改表选项: alter table 表名 表选项 [=] 新值.
新增字段:alter table 表名 add [column] 新字段名 列类型
修改字段名: alter table 表名 change 旧字段名 新字段名 字段类型(必须再次写明字段类型,不然会报错) [列属性] [新位置]..
修改字段类型(属性): alter table 表名 modify 字段名 新类型 [新属性] [新位置].
删除字段: alter table 表名 drop 字段名
删除表结构
drop table 表名
批量删除表
drop table 表名1,表名2;
数据操作
插入操作
就是将数据以sql的形式存储到指定的数据表(字段)里面
基本语法:
insert into 表名(字段列表) values(对应字段列表)
insert into 表名 values (对应表结构)
查询操作
查询表中全部数据:select * from 表名
查询表中部分字符:select 字段列表 from 表名;//字段列表使用“,”隔开
简单条件查询数据:select 字段列表/* from 表名 where 字段名 = 值;//mysql中没有==符号
因为前面Jack是30岁
删除操作
基本语法:delete from 表名 [where 条件]; //如果没有where条件,意味着系统会自动删除表中所有数据。
更新操作
基本语法:update 表名 set 字段名 = 新值 [where 条件];//如果没有where条件,那么所有的表中对应的那个字段都会被修改为统一值