sql语言常用语句

登录mysql: mysql -h 主机名 -u 用户名 -p密码

先看一下这几种语句的区别。

DML(data manipulation language):SELECT, UPDATE, INSERT, DELETE这几个都是对数据进行操作的语句。

DDL(data definition language):主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用

DCL(Data Control Language): 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL


查看数据库:SHOW DATABASES;

选择数据库:USE 数据库名;

创建数据库:CREATE DATABASE 数据库名;

删除数据库:DROP DATABASE 数据库名;

查看当前数据库编码:SHOW VARIABLES LIKE 'CHARACTER_SET_DATABASE';

查看表:SHOW TABLES;

创建表:CREATE 表名(字段1,字段2......);

查看表结构:DESC 表名;

删除表:DROP TABLE表名;

插入一条记录:INSERT INTO 表名(字段1,字段2.....) VALUES(值1,值2,.....);注意:这种方式可以选择特定的要插入的字段和要插入的值,并非从头插到尾

插入一条记录:INSERT INTO VALUES(值1,值2....); 注意:这种插入方式所有字段都必须插入一个值,即有多少字段就得插入多少值。另:如果值是字符或者字符串,要加双引号


SELECT:

查看整个表内容:SELECT * FROM 表名;

查看特定的字段内容:SELECT 字段1,字段2 FROM 表名;

查看特定字段内容且按某一字段排序:SELECT 字段1 FROM 表名 ORDER BY 字段2;

查看特定字段的内容且丢弃掉重复的内容:SELECT DISTINCT 字段名 FROM 表名;

查看某一条信息:SELECT * FROM 表名 WHERE 字段=字段值;(比如查找数据库hehe中id值为3的所有信息:SELECT * FROM hehe WHERE id=3;)

ALTER:

插入一个字段:ALTER TABLE 表名 ADD 字段名;

删除一个字段:ALTER TABLE 表名 DROP 字段名;

UPDATE:

更新数据库记录:UPDATE 表名 SET 字段1=值1 WHERE 字段2=值2;

更新数据库记录:UPDATE 表名 SET 字段1=值3,字段3=值1,字段4=值5 WHERE 字段2=值2;

DELETE:

删除一条记录:DELETE FROM 表名 WHERE 字段1=值1;(这里是条件表达式,例如删除uid>3的,可以写成 DELETE  FROM hehe WHERE id>3)

删除所有记录:DELETE FROM 表名;

添加用户:CREATE USER 用户名 IDENTIFIED BY ‘密码’;

删除用户:DROP USER 用户名;

修改当前用户密码:SET PASSWORD=PASSWORD(‘密码’);

修改其他用户密码:SET PASSWORD FOR 用户名=PASSWORD(‘密码’);

授予用户权限:GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';(%代 表可以登录的主机不做限制,local代表只能从本地登录,all privileges 代表所有权限,你也可以在这里制定特定的权限,比如select,update,delete,alter等等....)

撤销权限:REVOKE ALL PRIVILEGES FROM 用户名;(同上,all privileges可以替换为需要的特定权限)

查看当前用户权限:SHOW GRANTS FOR 用户名;

备份数据库:mysqldump -u 用户名 -p 数据库 > 备份数据库名;

恢复数据库:mysql -u 用户名 -p 需要恢复的数据库名 < 备份的数据库名;

DCL在此不做讨论


发布了19 篇原创文章 · 获赞 12 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章