mysql中对表的操作

1 创建表

  CREATE TABLE table_name(

             属性名   数据类型,

              属性名   数据类型,

               .

                .

                 .

              属性名   数据类型,

              

)

创建表时,要先创建数据库 使用 CREATE DATABASE 数据库名; 选择数据库 USE 数据库名;然后执行CREATE语句。


2 DESCRIBE 语句查看表定义

语法形式:DESCRIBE 表名;


3 SHOW CREATE TABLE语句查看表详情定义

语法形式:SHOW CREATE TABLE 表名;

注:在现实表详细定义时,可以使用“;”、“\g”、“\G”符号来结束,为了让显示结果更加美观,便于用户查看,最好使用“\G”。


4 删除表的语法形式

语法形式:DROP TABLE 表名;


5 修改表

      5.1修改表名

      语法形式:ALTER TABLE old_name RENAME [TO] new _name;

      old_name表示所要修改的表名,new_name参数表示修改过后的新名字,to可以省略。


     5.2增加字段

     语法形式:ALTER TABLE 表名 ADD 属性名 属性类型;

   例如:ALTER TABLE t_dept ADD descri VACHAR(20);

     如果想在表的第一个位置增加字段,可以通过关键字FIRST实现。 语法形式:ALTER TABLE 表名 ADD 属性名 属性类型 FIRST;

     如果在表的指定字段之后增加字段可以使用AFTER关键字, 语法形式:ALTER TABLE 表名 ADD 属性名 属性类型 AFTER 属性名;


   5.3删除字段

   语法形式:ALTER TABLE 表名 DROP 属性名;


  5.4修改字段

         1 修改字段的数据类型

                 ALTER TABLE 表名 MODIFY 属性名 属性类型;

          2 修改字段名字

                 ALTER TABLE 表名 CHANGE 旧属性名  新属性名 旧数据类型;

          3 同时修改字段的名字和属性

                ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

           4 修改字段的顺序

                 ALTER TABLE 表名 MODIFY 属性名1  数据类型 FIRST ;

                 ALTER TABLE 表名 MODIFY 属性名1 数据类型 AFTER 属性名2;







MySQL 中,`GRANT` 语句用于为用户授予对数据库的特定权限。如果需要对某张进行授权,则可以使用以下语法格式: ```sql GRANT 权限类型 ON 数据库名.名 TO '用户名'@'主机名' [IDENTIFIED BY '密码'] [WITH GRANT OPTION]; ``` ### 常见权限类型 - `SELECT`: 允许用户查询数据。 - `INSERT`: 允许用户插入新记录。 - `UPDATE`: 允许用户更新中的记录。 - `DELETE`: 允许用户删除中的记录。 - `CREATE`: 允许用户创建新(即使未指定具体)。 - `DROP`: 允许用户删除(即使未指定具体)。 - `ALL PRIVILEGES` 或 `ALL`: 授予所有权限。 ### 授权示例 #### 1. 对某个用户授予特定的查询权限 ```sql GRANT SELECT ON mydatabase.mytable TO 'user1'@'localhost'; ``` 此语句允许用户 `user1` 查询数据库 `mydatabase` 中的 `mytable` 的数据[^2]。 #### 2. 授予某个用户对特定的增删改查权限 ```sql GRANT SELECT, INSERT, UPDATE, DELETE ON mydatabase.mytable TO 'user2'@'%' IDENTIFIED BY 'password123'; ``` 此语句将授予用户 `user2` 在任何主机上连接时对 `mydatabase.mytable` 执行查询、插入、更新和删除操作的权限,并设置其密码为 `password123`[^2]。 #### 3. 授予某个用户对整个数据库中所有的全部权限 ```sql GRANT ALL PRIVILEGES ON mydatabase.* TO 'admin_user'@'localhost' WITH GRANT OPTION; ``` 此语句赋予用户 `admin_user` 对数据库 `mydatabase` 中所有的所有权限,并且允许该用户将其拥有的权限授予其他用户[^1]。 #### 4. 刷新权限以确保更改立即生效 ```sql FLUSH PRIVILEGES; ``` 在执行完 `GRANT` 操作后,通常需要运行 `FLUSH PRIVILEGES;` 以确保权限更改立即生效。 ### 注意事项 - **主机名限制**:`'用户名'@'主机名'` 中的主机名部分用于限制用户从哪些主机连接到 MySQL 服务器。例如: - `'user'@'localhost'` 示只能从本地主机连接。 - `'user'@'%'` 示可以从任意主机连接。 - **WITH GRANT OPTION**:如果添加了 `WITH GRANT OPTION`,则被授权的用户可以将自己的权限授予其他用户,但需要注意权限管理的安全性问题[^1]。 - **撤销权限**:可以通过 `REVOKE` 语句撤销已授予的权限,例如: ```sql REVOKE DELETE ON mydatabase.mytable FROM 'user1'@'localhost'; ``` 此语句将撤销用户 `user1` 对 `mydatabase.mytable` 的删除权限[^2]。 ### 查看用户权限 要查看用户的当前权限,可以使用以下命令: #### 查看当前用户的权限 ```sql SHOW GRANTS; ``` #### 查看特定用户的权限 ```sql SHOW GRANTS FOR 'user1'@'localhost'; ``` 此命令会列出用户 `user1` 所拥有的所有权限信息[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值