mysql增删改查相关操作
mysql增删改查相关操作
以前用mysql用的少,对于数据库相关的操作不熟悉,现在开始要接触数据库了,记录一下相关的基础操作吧。
1、数据库的授权操作
# mysql -u root -p
Enter password:
mysql> grant all privileges on *.* to root@'%' identified by '<password>' with grant option;
## 表示为root用户添加所有数据库所有权限,并可以给其他人授权。
mysql> grant select,insert,update,delete on mydb.mytable to liawne@192.168.110.1 identified by 'mysqld' with grant privileges;
mysql> flush privileges;
## mysql> grant 权限1,权限2,...权限n 数据库名称.表名称 to 用户名@用户地址 identified by 连接口令;
## 权限为select、insert、update、delete、create、drop、index、alter、grant、references、reload、shutdown、process、file等14个权限。
## 连接口令不能为空,否则会授权失败。
2、库操作命令
mysql> use mydb; # 连接数据库
mysql> show databases; # 显示数据库
mysql> create database <dbname> character set utf8; # 创建数据库,设定字符集为utf-8
mysql> drop database <dbname>; # 删库
3、表操作命令
mysql> show tables; # 显示表
mysql> describe <tablename>; # 显示表的具体结构
mysql> show columns from <tablename>; # 查看表的列项目及结构
mysql> show create table <tablename>; # 查看创建表语句
mysql> create table mytable(
-> id int auto_increment primary key, # ID自增并设置为主键
-> name varchar(10) not null, # 姓名不允许为空
-> sex varchar(5) default 1, # 性别默认1
-> phone bigint not null unique, # 电话不允许为空且值必须唯一
-> create_time datetime default now(), # 创建时间默认为当前时间
-> addr varchar(50), # 地址栏允许输入字符不超过50
->);
mysql> drop table mytable; # 删除表
mysql> alter table mytable rename mytable_new; # 修改表名称
mysql> alter table mytable change name names varchar(15); # 修改字段类型并重命名字段
mysql> alter table user modify name varchar(15); # 修改字段类型
mysql> alter table user add password varchar(20) not null after name; # 在指定位置新增字段
4、数据操作命令
mysql> insert into user values('','张三','男','1234567890',NOW(),'北京市海淀区'); # 表中新增数据
mysql> insert into user(name,phone,create_time) values('张三','12348567890',NOW()); # 表中指定字段添加数据
mysql> delete from user; # 删除表中数据
mysql> truncate user; # 清空表
mysql> delete from user where id=1; # 删除表中指定的数据
mysql> update user set sex='男'; # 更改表中所有数据
mysql> update user set sex='男' where name='张三'; # 更改表中指定数据
mysql> update user set sex='男',addr='北京市朝阳区' where name='张三'; # 更改表中多个字段
mysql> update user set phone=phone+1 where name='张三'; # 在原有数据基础上更改
mysql> select * from user limit 5; # 查询前5条数据
mysql> select * from user limit 2,4; 注:从第几条开始查询(下标从0开始),查询多少条 # 查询第3至6条数据
mysql> select name,sex,phone from user; # 查询指定字段
mysql> select * from user where name='张三' and sex='男'; 注:and表示多个条件必须同时满足 # 单表查询
5、用户管理命令
mysql> insert into user (user,host,password) values('xiaoxitest','%',PASSWORD('123456'));
## 添加xiaoxitest用户并允许远程计算机登录,密码为:123456
mysql> update user set password=password("654321") where user='xiaoxitest'; # 更改用户密码
mysql> update user set user='xiaoxi' where user='xiaoxitest'; # 更改用户名xiaoxitest为xiaoxi
mysql> delete from user where user='xiaoxi'; # 删除xiaoxi用户
最新文章
- 文件IO函数和标准IO库的区别
- ADO.NET和ADO.NET Entity Framework
- ucenter 整合外部网站,实现登录等操作
- WCF实例管理的三种方式
- Mysql的权限管理
- 转载:10个实用的但偏执的Java编程技术
- ES6/ES2015核心内容
- Visual C++内存泄露检测—VLD工具使用说明
- WinCmd
- mysql只导出表结构或数据
- 5分钟看懂svg path 路径的所有命令(更有API解释、有图、有图文对比解析)
- 古墓丽影:崛起 PC版今日发售
- 内存管理-buddy[代码]
- mysql表空间加密 keyring encryption
- CSS3新增特性详解(一)
- si4438 cca 侦听
- R语言中两个数组(或向量)的外积怎样计算
- 【Java面试题】2 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析
- G.Finding the Radius for an Inserted Circle 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛
- CentOS装JDK1.8
热门文章
- mybatis返回List<;Map>;
- 最长上升(不下降)子序列(LIS) 不同求解方法(动规、贪心)
- 【转帖】如何看待 HTTP/3 ?
- 小记-----如何把本地jar包加载到maven库中
- Tarjan水题系列(5):最大半连通子图 [ZJOI2007 luogu P2272]
- Maven build 命令介绍(转)
- vue中如何开发插件
- 一文简单理解package-lock.json
- Delphi 逻辑运算符与布尔表达式
- (转) ORACLE 正确删除归档日志的方法