Mysql数据库基础知识点总结

Mysql数据库

  • 创建数据库
CREATE database database_name;    //创建数据库
CREATE database database_name character set=gbk/utf8;  //创建指定字符集的数据库
CREATE database if not exists database_name;  //创建数据库前判断是否存在同名数据库
  • 数据库基本操作
SHOW databases;  //查看数据库
SHOW create database 库名; //显示数据库创建信息
SELECT database();  //查看当前数据库
ALTER database database_name default character set gbk/utf8; //设置默认字符集
DROP database database_name;   //删除数据库
  • 数据表基本操作
CREATE table 表名(字段名1 类型(长度) [约束],字段名2 类型(长度) [约束],......);//创建数据表
SHOW tables; //查看数据表
desc table_name; //查看表结构
ALTER table table_name add 列定义 [first/after 列名];  //向表中新添加列,[]内表示在某列的前或后添加,不指定则添加到最后
ALTER table table_name change 列名 原列名;  //列名重定义
ALTER table table_name modify 列定义;  //修改列数据类型
ALTER table table_name drop 列名;  //删除列
ALTER table table_name rename 新表名;  //重命名该表
ALTER table table_name order by 列名;  //排序
ALTER table table_name alter 列名 {set default literal/drop default} //指定修改默认值或删除
DROP table table_name; //删除表
CREATE table table_name1 like table_name2; //创建一个结构相同的空表
  • 用户管理基本操作
CREATE user 用户 identified by 'password'; //创建新用户  用户='用户名'@'主机名'
DROP user 用户; //删除用户
GRANT privileges on database_name.table_name to 用户; //授权用户权限 table_name可用*代表所有表
REVOKE privileges on daatabase_name.table_name from 用户;  //回收用户权限
	其中privileges可以包含:CREATE,ALTER,DROP:库/表结构操作
						 SELECT,INSERT,DELETE,UPDATE:数据操作
						 REFERENCES:外键权限
						 INDEX:索引
RENAME user 老用户 to 新用户;  //修改用户名
SET PASSWORD for 用户=password('新密码');  //修改用户密码
DROP user 用户; //删除用户

  • 数据插入
INSERT into table_name(列名1,列名2,...)  values  (记录1,记录2,...),(记录1,记录2,...),(...); //插入新记录方式一,可插入多条
INSERT into table_name set 列名1=记录1,列名2=记录2,...; //插入新记录方式二
INSERT into table_name1 select * from table_name2; //从已有的表中插入数据进来
INSERT into database_name1.table_name1 select * from database_name2.table_name2; //从一个库的一张表记录插入到另一个库的另一张表中
  • 数据修改
UPDATE table_name1,table_name2,... set 列名1=expr1,列名2=expr2,...  where 条件; //修改表数据
UPDATE table_name1 a,table_name2 b set a.列名1=b.列名2 where 条件; //将表1的列名1设置成跟表2的列名2一样

  • 数据删除
DELETE from table_name;  //删除数据表中的所有记录
DELETE from table_name where 条件;  //删除满足条件的行
例:DELETE user1,user2 from user1,user2,user where user1.id=user.id and user2.id=user.id;  //刪除user1中id值等於user的所有行和user2的id值等于user的id值的所有行 
  • show语句
SHOW tables或 SHOW tables from database_name; //显示当前数据库中所有表名称
SHOW databases; //显示所有数据库的名称
SHOW columns from table_name from database_name 或 SHOW columns from database_name.table_name;  //显示表中列的名称
SHOW grants for user_name;  //显示一个用户的权限,显示结果类似于grant命令
SHOW index from table_name; //显示表的索引
SHOW status; // 显示一些系统特定资源的信息,例如正在运行的线程数量
SHOW variables; //显示系统变量的名称和值
SHOW processlist; //显示系统中正在运行的所有进程
SHOW table status; //显示当前使用或者指定的database中的每个表的信息;
SHOW privileges: //显示服务器所支持的不同权限。
SHOW create database database_ name: //显示创建某一个数据库的CREATEDATABASE语句。
SHOW create table table_name: //显示创建一个表的 CREATE TABLE语句。
SHOW events; //显示所有事件的列表。
SHOW innodb status;  //显示innoDB存储引擎的状态。
SHOW logs;  //显示BDB存储引擎的日志。
SHOW warnings;  //显示最后一个执行的语句所产生的错误、警告和通知
SHOW errors;  //只显示最后-一个执行语句所产生的错误。
SHOW [storage] engines;  //显示安装后的可用存储引擎和默认引擎。
SHOW procedure status;  //显示数据库中所有存储过程基本信息,包括所属数据库、存储过程名称、创建时间等。
SHOW create proceduresp_name;  /显示某一个存储过程的详细信息。
发布了1 篇原创文章 · 获赞 2 · 访问量 17

猜你喜欢

转载自blog.csdn.net/weixin_46539121/article/details/105443913