基本操作

DOS界面连接数据:

标记选中 右键 复制上

登录数据库:mysql -u用户名(一般是root) -p //mysql -uroot -p

输入密码:

退出数据库:exit;

select version();//打印数据库版本

select user();//打印当前用户

放弃正在输入的命令:\c
显示命令清单:\h
退出mysql程序:\q 或 exit
查看MySQL服务器状态信息:\s;status;

show warnings; // 显示最后一个执行的语句所产生的错误、警告和通知

show errors; // 只显示最后一个执行语句所产生的错误

notice

mysql数据类型

1、整数 :默认用int,再大用bigint ()中的数字和数值列属性zerofill有关

数值列属性
AUTO_INCREMENT
UNSIGNED
ZEROFILL
NULL和NOT NULL
DEFAULT


(1)整型

a)tinyint:很小的整数,范围0~255,有符号的范围-128~127,默认长度4,占1个字节。一般用于年龄

b)smallint:小的整数,范围0~65535,有符号范围-32768~32767,默认长度是6,占2个字节。

c)int:中等大小的整数,范围0~42.9亿,有符号访问-21亿~21亿,默认长度是11,占4个字节。一般用于主键字段id

13245678909  

d)bigint:很大的整数,范围0~18446744073709551615,有符号范围:-9223372036854775808~9223372036854775807用于微生物界或天文历法

2、小数:float double DECIMAL

(3)浮点型

a)float(m,d) 精度会有损失

b)double(m,d) 精度会有损失

c)decimal(m,d)m:小数的总位数,d:小数点后面的位数,常用于金融/银行账目,精度不会有损失,推荐使用

3、日期:date  时间 time 日期和时间:DATETIME

(4)时间/日期类型

a)date//日期类型 2017-01-01

b)time//时间类型 11:05:00

c)datetime//日期时间类型 2017-01-01 11:05:00

d)timestamp//时间戳

4、字符串类型

字符串列属性
BINARY
NOT NULL和NULL
DEFAULT

char(10)定长,varchar(10)变长,TEXT文

(2)字符串类型

a)char:定长字符串,浪费资源。 范围0~255

b)varchar:变长字符串,节省空间。范围0~65535,长度值可以是0~65535中的任何一个值。

本.

Value

CHAR(4)

Storage Required

VARCHAR(4)

Storage Required

''

' '

4 bytes

''

1 byte

'ab'

'ab '

4 bytes

'ab'

3 bytes

'abcd'

'abcd'

4 bytes

'abcd'

5 bytes

'abcdefgh'

'abcd'

4 bytes

'abcd'

5 bytes

当定义char时,不管你存入多少字符,都会占用到你定义的字符数,而用varchar时,则和你输入的字符数有关,会多一到两个字节来记录字节长度,当数据位占用的字节数小于255时,用1个字节来记录长度,数据位占用字节数大于255时,用2个字节来记录长度,还有一位来记录是否为null值

c)text//文本类型,范围0~65535。不能有默认长度值

d)enum//枚举类型,enum('man','woman'),一般用于性别

BLOB是一个二进制大对象,可以容纳可变数量的数据即图或视频、声音

完整性约束

1 not null非空约束

2primary key 主键约束

3unique唯一

4auto_increment自增长

5UNSIGNED 不能是负数,从0开始

6DEFAULT默认

7主键(primary key)和外键(foreign key)

主键:帮助MySQL以最快的速度把一条特点的数据记录的位置确定下来。

主键必须是唯一的、非空的

主键应该是紧凑的,因此整数类型比较适合

主键一般不允许有符号(unsigned)

联合主键:两个字段联合起来唯一标识一条记录

外键:引用另外一个数据表的某条记录。

外键列类型要与主键列类型保持一致

外键列应该加上NOT NULL

注:有主外键关系的表,插入数据时要先主表在从表,删除时要先从表在主表,修改表中记录要保证外键要在主表中主键存在

mysql>create table dept(id int auto_increment primary key,bname varchar(20) unique,bmoney int unsigned);

mysql> create table person(pid int primary key auto_increment,name varchar(10) not null,degree varchar(10) default '大专',bid  int not null,foreign key(bid) references dept(id));

数据库操作

1、mysql> show databases; 显示所有数据库

2、mysql> create database if not exists student1;  创建数据库

create database demo2 (default) character set utf8/gbk;//设置编码

3、mysql>use student; 打开数据库

4、mysql> rename database student1 to student2;//重命名,现在不能使用,因为不安全,要在资源管理器中打开才可以

5、mysql> drop database student2;删除数据库

6、select database();

表操作

1、mysql> show tables;显示所有表

2 、mysql> create table if not exists student1(xid int primary key auto_increment,name varchar(20),sex varchar(20),degree varchar(20),jobtime date,money decimal(7,2));

//创建表时,先删除表
drop table if exists demo;
create table demo(

);

3、crud:增 删 改 查,CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)

对表中的数据进行操作:增(insert)删(delete)改(update)查(select)

1)增(insert) insert into 表名(字段名)values(字段值);字符串、时间日期类型都需要加引号

加入所有字段可省略(字段名),(字段值)可以有多个

insert into worker(name,degree,money) select name,degree,money from worker; //插入多条记录

2)查(select)select *(或字段名) from 表名 [where条件];

3)改(update) update 表名 set 字段名1=新字段值1,字段名2=新字段值2,...()where条件;

4)删(delete)delete from 表名 where 条件;delete删除之后存入的数据,id会从被删除的记录ID之后继续递增

清空数据truncate table 表名;auto-increment不会递增

4、查看表结构:desc 表名;

5、删除表:drop table 表名;

6、修改表:

1)修改表名:alter table 旧表名 rename to 新表名;rename table 旧表名 to 新表名

2)添加一个字段(列)alter table 表名 add 字段名 字段类型 [是否为空];

3)删除一个字段alter table 表名 drop column 列名;

4)修改字段名alter table 表名 change 旧字段 新字段 数据类型;

5)修改数据类型(长度,是否为空)alter table 表名 modify 字段名 字段类型 [是否为空];

格式: alter table 表名 action;

Action取值如下:
add 列名 <建表语句> (first | after 列名)
add primary key (列名)
alter 列名 set default 默认值
change (modify) 列名 <建表语句>(first | after)
drop 列名
drop primary key
Drop index index_name;
rename as 新表名

Mysql数据库中的通配符
“%” (百分号)  代表任意长度(长度可以为0)的字符串
“_ “(下横线)  代表任意单个字符

select中的where条件

大于(等于)/小于(等于)
select stid,name,age from student where age >= 20 and age <=25;
select * from student where joinTime >= '2015-01-01' and joinTime <= '2015-12-31';

between... and...限定一个范围
select * from student where age between 20 and 25;//在20到25之间
select * from student where joinTime between '2015-01-01' and '2015-12-31';

and or not
select * from student where age = 20 and sex='女';//并且
select * from student where sex = '男' or sex='其他';//或者
select * from student where sex != '男';//不等于
select * from student where sex <> '男';//不等于

select * from student where not sex = '男';

in 在某个范围内  not in 不在某个范围内

select 字段名 from 表 [where条件][order by 字段名 asc/desc];不写asc或desc,默认是升序

select * from student order by stid desc,age asc;//多个字段排序

宏select 字段名 from 表 [where条件][order by 字段 asc/desc][limit 起始位置,记录数];select * from 表名 limit (当前页-1)*记录数,记录数; 不能和in一起用

模糊查询 like 效率低
select * from student where name like '%明%';//匹配含有'明'的记录
select * from student where name like '明%';//匹配以'明'开头的记录
select * from student where name like '%明';//匹配以'明'结尾的记录


as 别名(不能和关键词冲突)//字段名或表名太长//防止字段名冲突

mysql> select pid as 学号,name as 姓名,degree as 学历,dept.bname from person,dept where dept.id=person.bid;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容

  • 什么是SQL数据库: SQL是Structured Query Language(结构化查询语言)的缩写。SQL是...
    西贝巴巴阅读 1,810评论 0 10
  • 一、数据持久化的几种方法 在iOS中将数据持久化总共有四招: 1. 归档(Archiver)、解归档(unArch...
    巧克力的qiao阅读 2,705评论 0 28
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 1,231评论 0 7
  • 新日初起天将明,披上衣裳看霞彩。 忽逢一树枫叶红,凉风袭过舞跳开。 沿途皆是枝丫色,晶白早霜掩枯黄。 如若不曾离家...
    阿赢阅读 249评论 0 0
  • ***所有以Courier字体显示的语句都代表实际的C语言程序代码,而所有以中文楷体 显示的部分则表示需...
    清歌_8ea4阅读 542评论 0 0