MySQL常用操作语句--1

在学习JavaWeb和Mybatis框架的过程中,避免不了结合数据库的使用。建表,查询,插入,修改,删除,这些都是家常便饭。小编在学习的过程中,有时候就不小心将表的某些属性建错了,或者是属性列少了一些约束。这时又不想重新建表,就想通过sql语句进行修改,基于是基本的操作,所以,小编将sql常用操作复习了一遍,下面是我的总结:(总结了一部分,后续会继续更新,给出完整的常用操作)

数据库操作常用命令
数据库系统:Database system(DBS)
数据管理员:Database administrator(DBA)
数据库管理系统:database administrator system(DBMS)
数据定义语言:data definition language(DDL)
数据操作语言:DML
数据查询语言:DQL
数据控制语言:DCL

数据库创建:
Create database if not exists 数据库名称 character set=字符集 collater=校对规则名称;(判断是否存在同名数据库、指定字符集)

查看数据库:
Show databases|schemas [like ‘模式’ where 条件]
例如:show database like ‘lk_%’ (后面为模糊匹配查询)

选择数据库:
use 数据库名称
注意:使用use语句语句将数据库指定为当前数据库后,当前数据库在当前工作会话关闭(即断开与该数据库的连接)或再次使用use语句指定为数据库时,结束工作状态。

修改数据库参数:
alter database|schema 数据库名称
default character set=字符集 default collate=校对规则名称

删除数据库:
drop database|schema [ if exists] 数据库名称;
注意:mysql安装后,系统会自动创建两个名称为performance_schema和mysql的系统数据库,MySQ把与数据库相关的信息存储在这两个系统数据库中,如果删除了这两个数据库,那么MySQL将不能正常工作,所以这两个数据库一定不能删除。

存储引擎:Oracle和SQL Server只有一种,MySQL有多种,用户也可自编写引擎。默认引擎为InnoDB。

查询引擎:Show engines;
Ps:可用“;” 、“\g”、“\G”作为语句结束,前两个效果相容,后者可使结果显示更加美观。

查询默认引擎:
Show variables like ‘ storage_engine%’;

创建数据表:
Create [temporary] table [if not exists] 数据表名
[(create_definition,…)] [table_options] [select_statement]
temporary关键字表示创建一个临时表。
create_definition中的primary key:表示是否为主键。一个表只能有一个主键。如果表中没有一个primary key,而某些应用程序需要primary key,MySQL将返回第一个没有任何null列的unique键,作为primary key。
Reference_definiton:为字段添加注释。

查看表结构:
1.使用show columns语句查看,格式如下:
show [full] columns from 数据表名[from 数据库名];
或 show [full] columns from 数据表名.数据库名;
2.使用describe语句查看
Describe 数据表名; 或者 desc 数据表名;
当只需要查看某表某列的时候:desc 数据表名 列名;

修改表结构:
修改表结构指增加或者删除字段、修改字段名称或者字段类型、设置取消主键外键、设置取消索引以及修改表的注释等,语法如下:
Alter [IGNORE] table 数据表名 alter_spec[,alter_spec]…| table_options
参数说明如下:
(1)[ignore]:可选项,表示如果出现重复关键的行,则只执行一行,其他重复的行被删除。
(2)数据表名:用于指定要修改的数据表的名称。
(3)Alter_spec子句:用于定义要修改的内容,其语法格式如下:
add [column] create_definition [first|after column_name] //添加新字段
add index index_name //添加索引名称
add primary key ( index_col_name,…) //添加主键名称
…(剩余的自行查阅)
例如:alter table tb_admin add email varchar(50) not null, modify user varchar(40);

修改字段名:
格式:change[column] old_col_name create_definition
例如:alter table 数据表名称change column 原列名 新列名 varchar(50) null default null;

删除字段:
格式:drop [column]col_name -->可以删除指定字段
例子:alter table 数据表名 drop 指定字段名称;

修改表名:
格式:rename[as] new_tbl_name
例如:alter table 数据表名 rename as 新数据表名;

重命名表:
格式:rename table 数据表名 to 新数据表名
例子:rename table tb_admin to tb_user;

复制表:
Create table[if not exists] 数据表名 {like 源数据表名 | (like 源数据表名)}
注意: {like 源数据表名 | (like 源数据表名)}:必选项,用于指定依照那个数据表来创建新表,也就是为哪个数据表创建副本。
【注】:新表是空表,但新表跟源表的所有属性都一样。若想复制表中的内容,可以通过使用as(查询表达式)字句来实现。
例子1:create table 新表名称 like 源表名称; (新表为空表)
例子2:create table 新表名称 as select * from 源表名称;(新表不为空表)

删除表:
格式:drop table[if exists] 数据表名1,数据表名2,…;(可多表同时删除)

表数据的增、删、改操作:
插入数据:insert语句有3种语法格式,分别是insert…values 语句、insert…set语句和insert…select语句。
1.使用insert…values 语句
格式:insert [low_priority | delayed |high_priority][ignore]
[into] 表名 [(字段名,…)] values( {值 | default},… ),(…),…
[on duplicate key update z字段名=表达式,…]
用insert…values语句通常有三种操作:1.插入完整数据 2.插入部分数据 3.插入多条数据

2.使用insert…set语句
格式:insert [low_priority | delayed |high_priority] [ignore]
[into] 表名 set 字段名= { 值 | default },…
[ on duplicate key update 字段名=表达式…]
例子:insert into 表名 set user=’XX’,high=’xx’,…

3.使用insert…select语句
格式:insert [low_priority | delayed |high_priority] [ignore]
[into] 表名 [(字段名,…)]
Select …[ on duplicate update 字段名=表达式,…]
例子:insert into db_database08.tb_admin (user,password) select user,pass from tb_mrbook;

修改数据:
格式:update [low_priority] [ ignore] 数据表名
Set 字段1=值1,…
[where 条件表达式] [order by…] [limit 行数]
例子:update 表 set password = ‘123’ where user=’admin’;

删除数据:使用delete 或者 truncate table 语句进行删除
1.使用delete语句
例子:delete from 表名 where user=’ff’;
2.使用truncate table语句:truncate[table] 数据表名

====================未完待续= ==================
编辑一般般,凑合着看。复制下来,有事没事看一下,还是挺好的,虽然不难,但是也别忘了啊。

你可能感兴趣的:(SQL)