DML(Data Manipulation Language,数据操作语言) 语句:主要由insert、update和 delete 三个关键字完成。
DDL(Data Definition Language,数据定义语言)语句:主要由create、alter、drop和 truncate 四个关键字完成。
DCL(Data Control Language,数据控制语言)语句:主要grant和revoke 两个关键字完成。
事务控制语句:主要由commit、rollback和savepoint 三个关键字完成。
(DCL语句用于为数据库用户授权,或者回收指定用户的权限,通常无须程序员的操作,这里不做说明)
MySql 基本语法:
执行Mysql 命令的语法:
mysql -u 用户名 [-h主机] -p密码
如果访问本地,不需要填写主机名
查看当前实例下的数据库
show databases;
#创建数据库create database [if not exists] 数据库名;
#删除数据库drop database zhangjing;
演示完删除后重新再建一个名为xx的数据库,这里取名为myTest。
进入指定的数据库:
#进入指定的数据库use 数据库名;- #进入mytest
- use mytest;
进入mytest后,查看数据库下面的所有表:
#查看当前数据库中所有的表show tables;
当然,现在没有添加任何表,提示为empty;
查看表的结构使用desc关键字,下面会经常用到;
desc 表名;
DDL语句:
1.创建表的语法:
create table 表名 (columnName1 dataType [default expr],...)--创建一个名为t_test的表--crate table t_test(id int(11),userName varchar(20),age int(11),birthday date);--使用desc 关键字查看表的结构--- desc t_user;
2,修改表结构的语法
新增列定义:
alter table 表名add(#可以有多个列定义column_name1 dataType [default expr],...)
#新增 字段名为‘hobby’,'home'
alter table z_user add(
hobby varchar(200),
- home varchar(20)
)
修改列定义:
alter table 表名modify column_name dataType [default expr] [first|after column_name1]
#改变列到一行alter table z_user modify username varchar(25) first;
上面这句sql将username 字段移到第一行
#改变列的顺序alter table z_user modify username varchar(25) after id;
除了modify 关键字,mysql提供了change 关键字,如果需要修改列名就必须使用change。
change的语法如下:
alter table 表名change old_column_name new_column_name dataType [default expr] [first|after column_name];
#修改表中的hobby字段为hobbys,同时设置默认值为“旅游”,并将位置定位到最后
alter table t_user
change hobby hobbys varchar(200) default '旅游' after home;
删除列的语法非常简单:
alter table 表名drop column_name;
#删除‘hobbys’这一列
alter table z_user drop hobbys;
hobbys这个字段没有了
重命名数据表的格式:
alter table 表名rename to 新的表名
#将t_user 改为 z_user
alter table t_user rename to z_user;
3.删除表的语法
#删除表的格式drop table 表名;
说明:
》表结构被删除,表对象不再存在
》表里的所有数据也被删除
》该表的所有相关的索引、约束也被删除
4.truncate 表
大部分数据库把truncate 当做DDL处理,truncate 被称为 “截断” 某个表——它的作用是删除该表里的全部数据,但保留表结构。
貌似用的比较少。
附带单词:
defined:有的定义的
