MySQL 基础语法结构

增、删、改、查

 DATABASE

1,创建数据库【增】

create database dbname charset utf8;
#创建    数据库   库名   设置编码  UTF8

2,查询库【查】

show create database dbname;
#查询数据库的 创建信息  

show databases;
#列出所有存在的数据库名

3,改数据库【改】

alter database db1 charset gbk;
#更改   数据库   名  编码格式 GBK
#更改数据库名为db1的数据库编码为gbk。

4,删除数据库【删】

drop database db1;
#删    数据库   名

 TABLE

切换库: use DataBaseName;( 库等同于文件夹,切换库就如同切换文件夹 )

查看当前库: select database();(查看当前所在的库名,就相当于查看当前文件夹名)

表的操作就是在库(文件夹)内部操作,每一个表就相当于是库中的文件,表名就是文件名,表内容就是文件内容。创建的表会生成两个文件,一个是*.frm 另一个是 *.ibd。

1,创建表【增】

#语法形式
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
#字段间用','逗号分开,最后一个不要有','逗号。

#语句样式
create table t1(id int,name char);
#创建    表   表名 (列名 属性)

2,查询表【查】

show create table t1;
#查询 已创建 表的属性信息 “G”使用后会格式化显示。

desc t1;
#与上一条一样,查询已创建表的属性信息。

show tables;
#查询当前库中所有表的名字。

3,修改表结构【改】

#修改表名
alter table t1 rename newt1
#修改   表  表名 改名  新表名

#增加字段
alter table t1 add remarks char(10);
#修改   表  表名 增加 字段名  字段类型
alter table t1 add remarks char(10),
               add remarks2 char(11);
#注:添加多个字段用','逗号分隔,';'分号结束,但都需要 ADD 字段名 数据类型 格式。
alter table t1 add newfield int first;
#修改  表   表名 增加 字段名 字段类型 添加最前面
#注:first 表示将该条字段添加到表的最前面。   
alter table t1 add newfield1 int after name;
#修改  表   表名 增加 字段名  字段类型 在...后面 字段名
#注:after + 字段名 意思是将新的字段名填加到某字段名之后。  

#删除字段
alter table t1 drop newfield1;
#修改   表  表名 丢掉 字段名

#修改字段   
alter table t1 modify name char(10);
#修改   表  表名 属性    列名  属性值
alter table t1 change name Name char(10);
#修改   表  表名 更改   列名(旧) 列名(新) 属性值

4,删除表【删】

drop table t1;
#删   表    表名

复制表

1. 先建立一个空库 :
     create database db3 charset utf8;
2. 使用新库:
     use db3;
3. 【方法一】复制目标库表中的字段:
     create table t1 select host,user from mysql.user;
      新建    表  表名  查找   字段名     从   目标库.目标表;
#注:复制过后表的结构属性和表内字段数据一同都拷贝过来了。如果只想拷贝表结构,可以使用where条件或让where后的条件式不成立,这样就只拷贝表结构了。
#例:create table t1 select host,user from mysql.user where 1>5;
   #【方法二】复制表结构:
    create table t1 like mysql.user;
    #新建    表  表名 像   目标库.目标表
#注:只拷贝表结构,不含字段内容

记录 Record

1,添加记录【增】

insert into t1(id,name) value (id,name);
#插入   到   表名(列名)  值  (列名)
#into可以不写,但建议写上,使语句结构完整易读,另外就算是一个列名也必须加括号。例:t1(name) value (name)

insert into t1 value(id,name),(id,name);
insert into t1(name) value (name),(name);
#插入 到 t1 值为(列名),如果指定了表中的某列,那么值也要按指定的格式赋值,如二例所示。

2,查表记录【查】

select id,name from t1;
#查询 列名      从   表名

select id,name from db1.t1;
#查询   列名     从   数据库名.表名

select * from t1;
#查询  所有列  从  表名

3,改表信息【改】

update db1.t1 set name='sly';
#更新  数据库名.表名 设置 列名=新值
#将数据库db1中的t1表中name列内容改为'sly'update t1 set name='sly' where id=2;
#更新  表名 设置 列名=新值  条件 条件值
#更新 t1表中的name列的内容改为'sly,条件为id为2的记录。

4,删除记录【删】

delete from t1;
#删除   从  表名
#删除t1表中的所有记录。

delete from t1 where id=2;
#删除   从  表名  条件  条件值

SQL语句的基本概念

SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:

1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

库的命名规则

可以由字母、数字、下划线、@、#、$

区分大小写

唯一性

不能使用关键字,如create select

不能单独使用数字

最长128位

使用help + 命令 可以查看SQL语句的用法.

表的类型 就是 存储引擎

一、查看MySQL支持的存储引擎

#命令
show engines;

注:MySQL支持多种存储引擎,是需要关注innoDB,MySQL的默认引擎。

二、指定表类型(存储引擎)

#例:
create table t1(id int) engines=innoDB;

innoDB在库中是两张表。

原文地址:https://www.cnblogs.com/sly27/p/9129451.html