SQL插入数据
查询表中的所有数据
SELETE * FROM 表名;
DML是对表中的数据进行增、删、改操作
插入操作:
INSERT INTO 表名 ( 列名1,列名2 ) VALUES (列值1, 列值2...);
添加多条数据(批量插入):
VALUES后面以逗号隔开 INSERT INTO 表名(列名1,列名2....) VALUES(列值1,列值2),(列值1,列值2)....;
注意事项
- 列名与列值的类型,个数,顺序要一一对应.
- 值不要超出列定义的长度.
- 插入的日期和字符一样,都使用引号括起来.
SQL更新数据以及修改数据库密码
更新操作
UPDATE 表名 SET 列名1=列值1, 列名2=列值2... WHERE 列名=值
举例
把所有学生的分数改为90 UPDATE students SET score=90; 把姓名为zs的学生分数修改为60 UPDATE students SET score=60 WHERE name='zs'; 把姓名为lisi的年龄修改为20和分数修改为70 UPDATE students SET age=30,score=70 WHERE name='lisi'; 把wangwu的年龄在原来基础上+1岁 UPDATE students SET age=age+1 WHERE name='wangwu'
修改数据库密码
mysqladmin -u root -p password 新密码
删除操作
# 如果不加过滤条件就是删除所有数据 DELETE FROM 表名 [WHERE 列名=值]
删除所有数据
TRUNCATE TABLE 表名;
ELETE 与 TRUNCATE的区别:DELETE可以删除指定数据也能删除所有数据 TRUNCATE只能删除所有数据
* DELETE删除表中的数据,表结构还在;删除后数据还可以找回 * TRUNCATE删除是把表直接DROP掉,然后再创建一个同样的新表.删除的数据不能找回. * 执行速度比DELETE快
DCL
创建用户
- 需要使用root用户登录之后进行操作
创建用户的命令为:create user 用户名@xxx identified by 密码;
- 其中xxx表示创建的用户使用的IP地址,可以设置为localhost(代表本机)或者'%'(代表允许所有IP地址登录)
给用户授权
- 创建用户之后,可以使用新用户进行登录,查看数据库只有系统自带的数据库,想要操作自己创建的数据库还需要root用户对新用户进行授权
给用户授权的命令为:grant 权限1,权限2,........,权限n on 数据库名.* to 用户名@IP;
- 上面命令的含义是将数据库的n个权限授予用户
- 如果是将操作数据库的所有的权限授予用户,命令为:grant all on 数据库名.* to 用户名@IP;
撤销授权
当需要限制新用户操作数据库的权限时,root用户可以撤销已授予用户的某些权限
撤销权限的命令为:revoke 权限1,权限2,........,权限n on 数据库名.* from 用户名@IP;
查看用户的权限
root用户查看用户权限的命令为:show grants for 用户名@IP;
删除用户
root用户删除用户的命令为:drop user 用户名@IP;