时间:2021-07-01 10:21:17 帮助过:16人阅读
本结目录
此操作针对windows环境下
该操作再Mysql服务器启动以及客户端连接之后
对数据库操作之前,引申一些较为听的懂的白话
1 2 3 4 5 6 |
概念
数据库(文件夹)
数据库表(文件)
数据行(文件中的一行数据)
一个数据库就是一个文件夹
|
1、显示数据库
show databases; -- 后面记得跟英文字符的分号 show create database 数据库名称; -- 查看数据库创建信息
默认数据库:
mysql - 用户权限相关数据
test - 用于用户测试数据
information_schema - MySQL本身架构相关数据
2、创建数据库
show databases; --查看当前Mysql都有那些数据,根目录都有那些文件夹 create database 数据库名; --创建文件夹 use 数据库名; --使用选中数据库,进入目录 show tables; --查看当前数据库下都有那些表 create table 表名(nidint, namevarchar(20), pwdvarchar(64)); --创建数据库表 /*阐释 相当于创建一个tb1的表 有nid,name,pwd三列 nid int 为int类型 varchar(20) 为字符类型最多20*/ select * from 表名; --查看表中的所有数据 insert into 表名(nid, name, pwd) values(1, ‘alex‘, ‘123‘); --插入数据
3、修改数据库
alter databases 数据库名称 character set utf8; -- 修改数据库编码格式
4、删除数据库
drop database [if exists] db_name;
5、用户管理
显示当前使用的数据库中所有表:show tables;
PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
show databases; use mysql; show tables; 可以看到mysql下有多少张表 user表是用户表 desc user; 查看user表有多少列 select host,user from user; 可以看到用户
创建用户 create user ‘用户名‘@‘IP地址‘ identified by ‘密码‘; 删除用户 drop user ‘用户名‘@‘IP地址‘; 修改用户 rename user ‘用户名‘@‘IP地址‘; to ‘新用户名‘@‘IP地址‘;; 修改密码 set password for ‘用户名‘@‘IP地址‘ = Password(‘新密码‘)
1、创建数据表
create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGINE=InnoDB DEFAULT CHARSET=utf8 -- ENGINE=InnoDB 表示引擎 后为默认编码格式为utf
-- 是否可空,null表示空,非字符串 not null -- 不可空 null -- 可空
-- 默认值,创建列时可以指定默认值,当插入数据时如果未主动设置,则自动添加默认值 create table tb1( nid int not null defalut 2, num int not null )
-- 主键,一种特殊的唯一索引,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。 create table tb1( nid int not null auto_increment primary key, num int null ) 或 create table tb1( nid int not null, num int not null, primary key(nid,num) )
-- 自增,如果为某列设置自增列,插入数据时无需设置此列,默认将自增(表中只能有一个自增列) create table tb1( nid int not null auto_increment primary key, num int null ) 或 create table tb1( nid int not null auto_increment, num int null, index(nid) ) -- 对于自增列,必须是索引(含主键)。 -- 对于自增可以设置步长和起始值 show session variables like ‘auto_inc%‘; set session auto_increment_increment=2; set session auto_increment_offset=10; shwo global variables like ‘auto_inc%‘; set global auto_increment_increment=2; set global auto_increment_offset=10;
2、查看数据表
show tables; -- 显示当前数据库所有表 desc 表名; -- 查看表结构 show create table 表名 -- 查看完整表创建信息
3、修改表结构
--增加列(字段) --添加多字段用逗号隔开进行 alter table 表名 add 列名 类型 [约束条件]; --删除列(字段) --多字段删除也用逗号隔开,无需加数据类型 alter table 表明 drop 列名1,列名2...; --修改列(字段) --列类型修改 alter table 表名 modify 列名 类型 [约束条件][first|after 列名]; --列名称修改 alter table 表名 change 原列名 新列名 类型 [约束条件][first|after 列名];
4、修改表名
rename table 原表名 to 新表名;
5、删除表
drop table 表名;
1、增
insert into 表 (列名,列名...) values (值,值,值...) insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...) insert into 表 set 列名=值,列名=值...; -- insert into 表 (列名,列名...) select (列名,列名...) from 表
2、删
delete from 表名 where 字段键值对; -- 可多条多虑 delete from 表名; truncate table 表名; -- 如不进行筛选,则删除表的所有记录(表依旧存在) -- delete 逐条删除,留下空表 -- truncate 先删除表,而后copy一个与之前相同的空表
3、改
update 表 set name = ‘Tony‘ where id>1 -- 多条可以用逗号隔开进行修改 -- 进行筛选则单独对筛选的那部分进行修改 -- 不进行筛选,则修改所有符合的部分
4、查(*****)
select * from 表 -- 查看表中的所有数据 select * from 表 where id > 1 -- 筛选id大于1的所有数据 select nid,name,gender as gg from 表 where id > 1 -- 查看id大于1的nid,name,gender的三个字段 as ... 表示进行别名设置
A、条件 select * from 表 where id > 1 and name != ‘alex‘ and num = 12; -- 筛选id>1且name不为alex且num为12的数据 select * from 表 where id between 5 and 16; -- 筛选id值在5到16范围内的数据 select * from 表 where id in (11,22,33) -- 筛选id值为11或22或33的数据 select * from 表 where id not in (11,22,33) -- 反之 select * from 表 where id in (select nid from 表) B、SQL通配符 select * from 表 where name like ‘%le%‘ -- 选取name包含有le的所有数据 select * from 表 where name like ‘ale_‘ -- ale开头的所有(一个字符) select * from 表 where name regexp "^[awv]"; -- 选取name以‘a‘、‘w‘或‘v‘开始的所有数据 select * from tb where name regexp "^[a-c]"; -- 选取name以a到c开头范围内的所有的数据 select * from tb where name regexp "^[^a-c]";