MySQL学习笔记

来源:互联网 发布:linux vi 搜索关键字 编辑:程序博客网 时间:2024/06/05 21:17

用户管理:

  1、新建用户:

    >create user 'userName'@'localhost' identified by 'password';

  2、更改密码:

    >set password for userName@localhost=password('root');

  3、权限管理

    >show grants for userName@localhost;    //查看userName@localhost用户权限

    >grant select on myschool.* to userName@localhost;    //给userName@localhost用户myschool数据库的所有权限

    >revoke select on myschool.* from userName@localhost;    //GRANT的反操作,去除权限;


数据库操作: 

  1、查看数据库:

    >show databases;

  2、创建数据库:

    >create database 数据库名;

  3、使用数据库:

    >use 数据库名;

  4、删除数据库:

    >drop database 数据库名;

SQL语言包括以下4个部分。

1DML(数据操作语言):用来插入、修改和删除表中的数据,如:INSERTUPDATEDELETE语句。

2DDL(数据定义语言):在数据库中创建或删除数据库对象等操作。如:CREATEDROPALTER等语句。

3DQL(数据查询语言):用来对数据库中的数据进行查询,指SELECT语句。

4DCL(数据控制语言):用来控制数据库组件的存取许可、存取权限等,如GRANTREVOKE等。


创建表:

CREATE TABLE [IF NOT EXISTS] 表名(

    // 字段1数据类型[字段属性|约束][索引][注释],

      ……

     字段n数据类型[字段属性|约束][索引][注释]

)[表类型][表字符集][注释];

UNSIGNED=无符号(非负数,存储范围可以增大一个bit

comment=注释

字段的约束及属性:

非空约束

NOT NULL

字段不允许为空

默认约束

DEFAULT

 赋予某字段默认值

唯一约束

UNIQUE KEY(UK)

 设置字段的值是唯一的

 允许为空,但只能有一个空值

主键约束

PRIMARY KEY(PK)

设置该字段为表的主键

可唯一标识该表记录

外键约束

FOREIGN KEY(FK)

 用于在两表之间建立关系,

 需要指定引用主表的哪一字段

自动增长

AUTO_INCREMENT

 设置该列为自增字段

 默认每条自增1

 通常用于设置主键

查看数据库中可用的表:

    >SHOW TABLES;

查看表的结构:

>DESCRIBE DESC ;

删除表:

delete from 表名:

删除所有记录,表结构还在,写日志,可以恢复的,速度慢

drop talbe 表名:

删除表的结构和数据

truncate talbe 表名

删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快


innodb和myisam的区别

事务处理

支持

不支持

数据行锁定

支持

不支持

外键约束

支持

不支持

全文索引

不支持

支持

表空间大小

较大,约2倍

较小


查看当前默认存储引擎:

>SHOWVARIABLESLIKE ‘storage_engine%’;

设置表的存储引擎:

CREATETABLE表名(

    #省略代码

ENGINE=存储引擎;


修改表:

#修改表名

ALTER TABLE<旧表名>RENAME[TO] <新表名>;

#添加字段 

ALTER TABLE 表名 ADD 字段名  数据类型  [属性];

#修改字段

 ALTER TABLE 表名CHANGE原字段名 新字段名 数据类型 [属性];

#删除字段

ALTER TABLE 表名 DROP 字段名;

#添加主键

ALTER TABLE 表名 ADD CONSTRAINT主键名

PRIMARYKEY表名(主键字段);

#添加外键

ALTER TABLE 表名ADD CONSTRAINT 外键名

FOREIGNKEY(外键字段)

REFERENCES 关联表名(关联字段);


插入数据:

INSERT INTO 表名[(字段名列表)] VALUES(值列表); 

字段名是可选的,如省略则依次插入所有字段

多个列表和多个值之间使用逗号分隔
值列表和字段名列表一一对应
如插入的是表中部分数据,字段名列表必填

未完待续!

原创粉丝点击