Mysql是一个很是典型的C/S结构的应用模型,因此Mysql链接必须依赖于一个客户端或者驱动.mysql
在linux中支持两种链接模式:TCP/IP模式和socketlinux
SQL语句的四部分:sql
DDL:数据定义语言数据库
DCL:数据控制语言socket
DML:数据操做语言编码
DQL:数据查询语言spa
这篇博客主要对DDL进行介绍命令行
一.首先从数据库方面介绍,对库的增删查改3d
1.新建数据库blog
CREATE DATABASE panyang;
CREATE DATABASE panyang2 charset=utf8; 指定字符集
2.查询数据库
SHOW DATABASES; 该命令行在命令行中教经常使用
如,在mac终端中链接数据库 mysql -u root -p
SHOW CREATE DATABASE panyang; 查看建立数据库的时候得语句
3.修改数据库
ALTER DATABASE panyang charset utf8; 修改数据库编码格式
4.删除数据库
DROP DATABASE panyang2;
二.表操做
在命令行中,使用哪个数据库命令
USE 你要用的数据库名称 如:use panyang
1.新建
CREATE TABLE student(
id int(10) PRIMARY KEY AUTO_INCREMENT NOT NULL, 自增,主键,不能为空
name VARCHAR(20) NOT NULL UNIQUE, 不能为空,惟一
age INT(10) NOT NULL, 不能为空
address VARCHAR(50) NOT NULL 不能为空
)CHARSET utf8;
2.查询
SHOW TABLES; 查看全部的表;
SHOW CREATE TABLE student;
desc student; 查询表结构
3.修改(alter.注:update面对的是数据,alert是面对的表)
a.在表的最后一列新加一个字段interst
ALTER TABLE student ADD interst VARCHAR(10);
b.在表的第一列增长一个字段
ALTER TABLE student ADD sid int FIRST;
c.在age字段后增长一个字段
ALTER TABLE student ADD sex VARCHAR(10) AFTER age;
d.在age字段后增长一个字段tel而且在最后一列增长email
ALTER TABLE student ADD tel VARCHAR(13) AFTER age,ADD email VARCHAR(20);
e.修改列的名称
ALTER TABLE student CHANGE age age111 int(20);
f.修改列数据类型
ALTER TABLE student MODIFY sex int(4);
g.删除一个列
ALTER TABLE student DROP sid;
4.删除
DROP TABLE student;
补充:
1.建立一个与一个已经存在的表的表结构相同的表的方法.
CREATE TABLE student2 like student; 前面是新的表名,后面是旧表名
2.建立一个与一个已经存在表的备份表(结构相同,数据相同)
CREATE TABLE student22 SELECT * FROM student;
*************DCL***************
数据控制语言,控制用户权限
一个用户能够作什么操做?
1.Mysql用户链接Mysql
2.控制(库,表,数据)权限
主要使用如下命令
GRANT select,update *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
(对ip为localhost的root用户密码为123456,进行查找和增长的权限限制)
GRANT ALL PRIVILEGES ON *.* TO 'test'@'10.0.1.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
(对ip为10.0.1开头的test用户密码为123456,全部权限)
FLUSH PRIVILEGES
这里对个语句进行解释:
1. *.* 库.表
*表明没有显示
*.*表明全部库下面的全部表.如test.student表示test库下的student表
2.'root'@%
%表明没有限制
root表明受限制的用户
'root'@'localhost'表示:ip为localhost的root用户受限制
'root'@'10.0.1.%'表示:ip为10.0.1开头的root用户受限制
权限限制的4个角度:
一、你须要从哪里链接数据库?二、你须要对谁操做,作什么操做?三、你要用哪一个用户进行操做?四、密码是什么?