数据库常用语句
2021-02-28 11:59:09   203  举报             
     
         
 AI智能生成
  数据库常用语句包括查询、插入、更新和删除等操作。其中,查询语句用于从数据库中检索数据,可以使用SELECT语句进行简单查询,也可以使用JOIN、GROUP BY和HAVING等关键字进行复杂查询。插入语句用于向数据库中添加新的记录,可以使用INSERT INTO语句将数据插入到指定表中。更新语句用于修改数据库中的现有数据,可以使用UPDATE语句将指定记录的字段值进行修改。删除语句用于从数据库中删除不需要的记录,可以使用DELETE语句将指定记录永久删除或将其标记为已删除。通过这些常用语句,可以方便地对数据库进行管理和操作。
    作者其他创作
 大纲/内容
  下列语句中的各种括号说明    
     尖括号<>代表参数不用写  
     小括号( )是语法要求,需要写  
     中括号[ ]是可选语法参数,不用写  
     启动/关闭mysql服务器    
     net start mysql  
     net stop mysql  
     登入/退出数据库    
     mysql -h <主机名字(本机可省略)> -P <端口号(默认端口号可省略3306)> -u <用户名> -p <密码>	  
     quit或exit  
     创建数据库    
     create database <数据库名字> character set <字符集(不写为默认字符集)> collate <校对规则名(不写为默认校对规则)>    
     character set和collate可省略  
     查看数据库    
     show databases	显示所有数据库  
     show create database <数据库名>	显示数据库创建语句  
     修改数据库    
     alter database <数据库名字> character set <字符集> collate <校对规则名>  
     删除数据库    
     drop database <数据库名>  
     选择数据库    
     use <数据库名>  
     MySQL注释    
     #        --空格        /* */  
     MySQL系统帮助    
     help <'查询内容'>如:help 'create table' 为查询创建表语法  
     字段约束    
     主键约束:primary key  
     唯一约束:unique  
     非空约束:not unll  
     外键约束:一张表中有一个非主键的字段指向了别一张表中的主键,就将该字段叫做外键    
     [constraint 外键名] foreign key(外键列名) reference <主表名>(主键列名)
创建表时在末尾设定外键约束,外键名可省略,系统会给默认外键名
    创建表时在末尾设定外键约束,外键名可省略,系统会给默认外键名
 alter table <外表名> add [constraint 外键名] foreign key(外键列名) references <主表名>(主键列名)
修改表时加入外键约束,外键名可省略,系统会给默认外键名
    修改表时加入外键约束,外键名可省略,系统会给默认外键名
 alter table <表名> drop foreign key <外键名>	删除外键约束  
     新建表    
     create table <表名> (
<列名1> <数据类型> [字段约束],
<列名2> <数据类型> [字段约束]
)
    <列名1> <数据类型> [字段约束],
<列名2> <数据类型> [字段约束]
)
 字段约束可选  
     查看表    
     show tables	查看当前所有表  
     show create table <表名>	查看当前数据库建表语句  
     desc <表名>	查看表结构  
     修改表    
     alter table<旧表名> rename to <新表名>	修改表名  
     alter table <表名> add <列名> <数据类型> [first/after 已存在的字段名]    
     增加列(first为可选参数,将新添加的字段置顶;after为可选参数,将新添加的字段添加已存在的字段名后面)  
     alter table <表名> modify <列名> <数据类型>修改列数据类型  
     alter table <表名> drop <列名>	删除列  
     alter table <表名> change <旧列名> <新列名> <新数据类型>	修改列名  
     alter table <表名> modify <列名1> <数据类型> after <列名2>	把列1放到列2后面
alter table <表名> modify <列名1> <数据类型> first 把列1置顶
    alter table <表名> modify <列名1> <数据类型> first 把列1置顶
 alter table <表名> character set <字符集>	修改表的字符集  
     删除表    
     drop table <表名>  
     插入数据    
     insert into <表名> (列名1,列名2) values (值1,值2),(值1,值2)    
     可选择插入部分列,如果不写列名则插入所有列
可一次插入多条数据  
     insert into <表名> set <列名1>=<值1>,<列名2>=<值2>	只能插入单条数据,可以选择列插入,更加灵活  
     mysql乱码解决    
     show variable like'charac%';	查看当前数据库中字符集配置  
     更新/修改数据    
     update <表名> set <列名1=值1>,<列名2=值2> where <条件>    
     修改数据,可修改多条数据,用逗号隔开,不加where修改所有列  
     删除数据    
     delete from <表名> where <条件>    
     删除数据,不加where删除表中所有数据(truncate table <表名>也是删除所有数据,效率更高 ),在使用这条语句后,再次向这张空表插入数据,会主键id重新排序,使用delete语句则不会重置。所以要将表中数据清空使用truncate更好。  
     查询数据    
     select [distinct] <列1>,<列2> form <表名>    
     查询数据,查询所有列可将列名替换成*,distinct为去重,可省略  
     查询sql的关键字书写顺序 
select from where group by having order by limit 
查询sql的关键字执行顺序 
from where group by having select  order by limit
编写技巧 
根据需求挑选关键字,按照书写顺序依次排列关键字
按照关键字的执行顺序填空
    
     where 表达式:可选,限定查询满足的条件。
group by 表达式:可选,按照指定的字段分组。
having 表达式:可选,限定查询满足的条件,用于使用了聚合函数限定条件。
order by 表达式:可选,指明排序的方式,升序asc和降序desc
limit 起始编号, 查询条数:可选,设置每次显示查询出来的数据条数。  
     多表查询    
     select * from staff inner join department on <条件:表1.列1=表2.列2>	内连接查询,只返回两个表共有的部分(可以理解为交集)  
     select * from staff left join department on <条件:表1.列1=表2.列2>	左外连接(在内连接的基础上加入左边的剩余数据)  
     select * feom staff right join department on <条件:表1.列1=表2.列2>	右外连接(在内连接的基础上加入右边的剩余数据)  
    
 
 
 
 
  0 条评论
 下一页
 为你推荐
 查看更多