Sql语言分类:
DDL(Data Definition Languages):数据定义语言,定义数据库、表、列、索引。如:create、drop、alter
DML(Data Manipulation Language):数据操纵语言,进行增删改查。如:insert、delete、update、select
DCL(Data Control Language):数据控制语言,定义访问权限、安全级别。如:grant、revoke
系统数据库:
information_schema:虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数。如用户表信息、列信息、权限信息等
performance_schema:Mysql5.5开始新增的一个数据库,主要用于收集服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
mysql:授权库,用于存储用户权限信息
sys:自带系统库,库里的表、视图、函数、存储过程可以提供便捷
创建指定编码的数据库: create database test1 charset utf8
查看数据库存放位置:show global variables like '%datadir%'
查看当前所在库:select database()
alter跟update的区别:
alter:是数据定义语言,修改表结构,如增加students表age字段:alter table students ADD(age int)
修改students表name字段为name_1:alter table students change name name_1 VARCHAR(10)
修改相同字段需要写俩次:alter table students change name_1 name_1 VARCHAR(111)
update:是数据操作语言,修改表数据,修改列的值:update students set name_1='老A' where name_1='老3'
按行显示表详细结构: show create table students \G
查看表结构:desc students
复制表所有内容:create table test2 select * from students
只复制表结构:create table test2 select * from students where 1=2
修改表名:alter table students RENAME student
不在当前库进行查询需要加上库名:select * from ceshi1.student
存储引擎的优化(待补充):
数据库引擎是用于存储,处理和保护数据的核心服务。利用数据库引擎可以控制访问权限并快速处理事务
1、InnoDB 存储引擎 2、MyISAM 存储引擎 3、NDB 存储引擎 4、Memory 存储引擎 5、Infobright 存储引擎 6、NTSE 存储引擎 7、BLACKHOLE
--》如何修改:
方法1:修改my.ini配置文件,在[mysqld]后添加default-storage-engine=InnoDB,重启服务
方法2:创建表时,进行指定,ENGINE=MyISAM
create table test4(
id int primary key,
name varchar(50)
)ENGINE=MyISAM;
方法3:使用alter修改
alter table test4 engine= InnoDB
--》查看修改结果
方法1:show table status like 'test4'
方法2:show create table test4