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用户

最新文章

  1. 文件IO函数和标准IO库的区别
  2. ADO.NET和ADO.NET Entity Framework
  3. ucenter 整合外部网站,实现登录等操作
  4. WCF实例管理的三种方式
  5. Mysql的权限管理
  6. 转载:10个实用的但偏执的Java编程技术
  7. ES6/ES2015核心内容
  8. Visual C++内存泄露检测—VLD工具使用说明
  9. WinCmd
  10. mysql只导出表结构或数据
  11. 5分钟看懂svg path 路径的所有命令(更有API解释、有图、有图文对比解析)
  12. 古墓丽影:崛起 PC版今日发售
  13. 内存管理-buddy[代码]
  14. mysql表空间加密 keyring encryption
  15. CSS3新增特性详解(一)
  16. si4438 cca 侦听
  17. R语言中两个数组(或向量)的外积怎样计算
  18. 【Java面试题】2 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析
  19. G.Finding the Radius for an Inserted Circle 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛
  20. CentOS装JDK1.8

热门文章

  1. mybatis返回List&lt;Map&gt;
  2. 最长上升(不下降)子序列(LIS) 不同求解方法(动规、贪心)
  3. 【转帖】如何看待 HTTP/3 ?
  4. 小记-----如何把本地jar包加载到maven库中
  5. Tarjan水题系列(5):最大半连通子图 [ZJOI2007 luogu P2272]
  6. Maven build 命令介绍(转)
  7. vue中如何开发插件
  8. 一文简单理解package-lock.json
  9. Delphi 逻辑运算符与布尔表达式
  10. (转) ORACLE 正确删除归档日志的方法