mysql用法

网上有高人:
http://note.youdao.com/share/?id=444d894d8488e0bc65e7d529d074729a&type=note#/

一、修改MySQL提示符:2 种方式

(1)连接客户端时通过参数指定
shell> mysql -uroot -proot - -prompt 提示符
(2)连接上客户端后,通过prompt命令修改
mysql>prompt 提示符
修改MySQL提示符:
1.登录前:shell>mysql -u用户名 -p密码 –prompt 提示符
2.登录后:mysql>prompt 提示符

\D 完整的日期
\d 当前数据库
\h 服务器名称
\u 当前用户

eg.在mysql为前缀“prompt \u@\h \d”
“ues test;”

二、MySQL语句的规范

  • 关键字与函数名称全部大写
  • 数据库名称、表名称、字段名称全部小写
  • SQL语句必须以分号结尾

三、创建数据库及之后的操作

说明:花括号是必选项,必须有,|是在这其中做选择,[]为可选,有没有都可以
1.创建数据库,并设置其编码方式(如果不设置编码方式,系统将按照默认方式设置编码方式)
CREATE {DATABASE | SCHEMA} [IF NOT EXITSTS] db_name [DEFAULT] CHARACTER SET [=] charset_name
2.查看数据库(表)列表
SHOW {DATABASES | SCHEMA}
3.显示创建数据库列表
SHOW CREATE DATABASE 表名;
4.修改数据库编码方式
ALTER {DATABASE | SCHEMA} 表名 [DEFAULT] CHARACTER SET [=] charset_name;
5.删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
6.展示警告信息
SHOW WARNINGS;

四、回顾上面

默认端口 3306
默认超级用户名 root
创建数据库 CREATE DATABASE;
修改数据库 ALTER DATABASE;
删除数据库 DROP DATABASE;

五、数据库类型

整形:
1.(TINY)INT 1个字节
2.(SMALL)INT 2个字节
3.(MEDIUM)INT 3个字节
4.INT 4个字节
5.(BIG)INT 8个字节

浮点型:
1.float[M,D],4个字节
2.double[M,D],8个字节
(M-总位数,D-小数位数)

日期时间型
1、YEAR:1970至2069
2、TIME:-838:59:59至838:59:59
3、DATE:1000-1-1至9999-12-31
4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59
5、TIMESTAMP存储范围:1970-1-1 00:00:00到2037-12-31 23:59:59

字符型
1、CHAR(M):定长类型,比如CHAR(5),如果我们只赋值abc,那么系统会自动在后面补两个空格0——255
2、VARCHAR(M):变长类型,L+1个字节,其中L<=M且0<=M0——65535
3、ENUM(’value1’,’value2’…)枚举值,提供几个选项,选择其中一个,如:性别(’男’,’女’,’保密’)
4、SET(‘value1’,’value2’…) 最多64个成员,可以任选里面其中几个,任意排列组合

六、操作数据表

show databases;查看有哪些数据库
use test;打开一个叫做test的数据库,只有用use命令指定某个数据库为当前数据库之后,才能对该数据库及其存储的数据对象执行各种后续操作。
select database();显示当前打开的数据库

创建一个表的命令如下:

create table tb1(
username varchar(20),
age tinyint unsigned, - - - - -//unsigned表示无符号位,即不能为负数
salary float(8,2) unsigned - - - - -//有效位数为8位,精度为2,即6位整数,2位小数
);

show tables;查看数据表
show tables from mysql;查看数据库中所有的表,且当前数据库并未改变,可以用下面来验证:
select database();//显示当前打开的数据库,注意没有s

SHOW COLUMNS FROM tbl_name //查看数据表结构

记录查找
SELECT expr,…FROM tb1_name
SELECT 查找关键字 expr 字段 *表示全部
FROM tb1_name哪个数据表

NULL,字段值可以为空
NOT NULL,字段值禁止为空

AUTO_INCREAMENT
自动编号,且必须与主键组合使用
默认情况下,起始值为1,每次的增量为1

AUTO_INCREMENT
自动编号,且必须与主键结合使用
默认情况下,起始值为1,每次增量为1.

PRIMARY KEY
主键约束
每张数据表只能存在一个主键
主键保证记录的唯一性
主键自动为NOT NULL

  1. 主键约束 primary key 与Auto_Increment 自动编号配合使用
  2. 唯一约束 unique key
  3. 默认约束 default
    示例:
    CREATE TABLE tb6(
    id SMALLINT UNSIGED AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(20) NOT NULL UNIQUE KEY,
    sex ENUM(‘1’,’2’,’3’) DEFAULT ‘3’,)//表示当sex没有赋值时,默认值为3

七、约束

约束主要是针对字段,即列或者叫columns进行,主要有以下几种类型
1.非空约束NOT NULL ,限制该列内容不能为空值,必须输入
2.主键约束PRIMARY KEY,一个TABLE中只能存在一个主键约束,保证记录的唯一性,可以配合AUTO_INCREMENT使用,自动增1
3.唯一约束UNIQUE KEY,一个TABLE中可以针对列设置多个唯一约束,目的是使得该列的内容不重复,该列值可以为NULL
4.默认约束 DEFAULT,对一列(字段)设置默认值,如果不给其设置自定义值,则其显示默认值
5.外键约束FOREIGN KEy
对一个字段进行约束成为列级约束,对两个及以上字段进行约束称为表级约束

外键约束的要求:
1.父表和子表必须使用相同的存储引擎,不能使用临时表
2.数据存储引擎必须为INNODB类型
3.外键列和参照列必须具有相似的数据类型。其中数字的长度或者是否有符号位必须相同,字符的长度则可以不同。
4.外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL则自动创建索引
外键列创建在子表中,参照列创建在父表中

验证:
在 MY.ini 文件中编辑默认的存储引擎:default-storage-engine=INNODB;
显示创建表的语句:SHOW CREATE TABLE table_name;
查看表是否有索引:SHOW INDEXS FROM table_name;
以网格查看表是否有索引:SHOW INDEXS FROM table_name\G;
Eg:
CREATE TABLE table_name1(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL
)
CREATE TABLE table_name2(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(20) NOT NULL,
pid SMALLINT UNSIGNED,
FOREIGN KEY (pid) REFERENCES table_name1(id) /* 外键 pid 参照 table_name1中的 id 字段 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值