博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 基础语法结构
阅读量:5343 次
发布时间:2019-06-15

本文共 3128 字,大约阅读时间需要 10 分钟。

增、删、改、查

 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

你可能感兴趣的文章
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
查看>>
spring注入Properties
查看>>
【BZOJ-2295】我爱你啊 暴力
查看>>
【BZOJ-1055】玩具取名 区间DP
查看>>
Bit Twiddling Hacks
查看>>
Windwos中的线程同步
查看>>
LeetCode : Reverse Vowels of a String
查看>>
时间戳与日期的相互转换
查看>>
jmeter(五)创建web测试计划
查看>>
python基本数据类型
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>
关于TDD的思考
查看>>
Cocos2d-x学习之windows 7 android环境搭建
查看>>
将html代码中的大写标签转换成小写标签
查看>>
jmeter多线程组间的参数传递
查看>>
零散笔记
查看>>
MaiN
查看>>
[Python学习] 简单网络爬虫抓取博客文章及思想介绍
查看>>
触发器课程SQL Server 知识梳理九 触发器的使用
查看>>
信息浏览器从Android的浏览器中传递cookie数据到App中信息浏览器
查看>>