Mysql 语句

登录Mysql:

Mysql -u root -p

密码:ss

C:\Users\Y7000>mysql -u root -p
Enter password: **

查看数据库:

Show databases;

创建数据库:

create database test;

mysql> create database test ;
Query OK, 1 row affected (0.02 sec)

进入数据库:

use test;

查看所有数据表:

show tables;

创建数据表:

Create table pet(
Name varchar(20),		#varchar字符串
Owner varchar(20),
Species vachar(20),
Sex char(1),		#char字符
Birth data,		#日期型数据(字符串)
Death date);

查看单个数据表:

Describe pet;

查询数据表对象:

Select * from pet;

插入数据对象:

Insert into pet values(‘Pufball’,’Diane’,’hamster’,’f’,’9-3’,NULL);
 

mysql> INSERT INTO pet
-> VALUES('旺财','周星驰','狗','公','1990-10-11',NULL);
 
select * from pet;

Mysql 常用数据类型:(菜鸟教程)

–大致分为三类:数值,日期/时间,字符串(字符)类型

–数值

类型大小范围(有符号)范围(无符号)用途
TINYINT1 byte(-128,127)(0,255)小整数值
SMALLINT2 bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 bytes( -9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 bytes(-3.402 823 466 E+38,-1.175 494 351 E-38),0, (1.175 494 351 E-38,3.402 823 466 351 E+38)单精度
浮点数值 DOUBLE8 bytes(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0, (2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度

浮点数值DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

–日期和时间型

类型大小 ( bytes)范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3‘-838:59:59’/‘838:59:59’HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳

–字符串型:

类型大小用途

CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
TEXT 0-65 535 bytes 长文本数据
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295 bytes 极大文本数据

增删查改(CRUD)

增加:
insert into student values('2604','周立开','19数据A1','21','男','60');

删除:
delete from student where name = ‘周立开’;

查看:
Select * from student;

修改:
Update student set name =’丁培培’ where id = ‘2603’ 

Mysql建表约束:

–主键约束:(primary key)

	它能够唯一确定一张表中的一条记录,通过给某个字段添加约束,可使改字段不重复且不为空。
Create table user(
	Id int primary key,
	name varchar(20)
);
Insert into user values(1,‘张三’);
Insert into user values(1,‘李四’);  报错
 
***id不可重复

联合主键:

Create table user2(
	Id int,
	Name varchar(20),
	Pwd varchar(20),
	Primary key(id,name)
);
******联合主键中两者加起来不能重复,任何一个字段不能为空

–自增约束(primary key auto_increment)

Create table user3(
	Id int primary key auto_Increment, (自动添加主键id)
	Name varchar(20)
);

Insert into user3(name) values(‘张三’);
 
如果建表时忘记创建自增约束:

Alter table s

alter table s4db65.class modify id int auto_increment;
alter table 数据库名.表名 modify 字段名 数据类型 
*******如果字段被用做外键,则无法修改其自增约束*******


如果创建表时忘记创建主键约束:
Create table user4(
	Id int,
	Name varchar(20)
);

——添加主键约束:(alter table add)

Alter table user4 add primary key(id);
Describe user4;

——删除主键约束:

Alter table user4 drop primary key;

——修改modify修改字段,添加约束:

alter table user modify id int primary key;	

–唯一约束:

约束修饰的字段的值不能重复

Create table user5(
	Id int,
	Name varchar(20)
);

Alter table user5 add unique(name);
Insert into user5 values(1,’zhanngsan’);
Desc user5   ****describe 的缩写
 
Create table user6(
	Id int,
	Name varchar(20),
	Unique(name,id)    ***类似联合主键,两者一起不能重复
);

——删除唯一约束

Alter table user6 drop index (name,id);

——modify 添加?

Alter table user6 modify name varchar(20)unique;

——总结约束的添加:

-- 1.建表时添加约束
-- 2.可以使用 alter 。。。add。。。
-- 3.使用alter。。。modify。。。

--4.删除 alter。。。drop。。。

–非空约束

修饰的字段不能为空NULL

Create table user9(
	Id int,
	Name varchar(20) not null
);

Insert into user9(id) values(1);  ×
Insert into user9(name) values('zhangsan');  √


--默认约束(default)   ***默认值
--当我们插入字段值时没有传值就会使用默认值;

Create table user10(
	Id int,
	Name varchar(20),
	Age int default 10
);

Insert into user10(id,name) values(1,’zhangsan’);
 

alter table user10 modify name varchar(20) default 'lisi';

–外键约束:

	涉及到两个表:父表,子表
	主表,副表
******************************************************************
形式	:
主表(classes): id int primary key
副表(students): class_id int,
			   Foreign key(class_id) references classes(id)

--班级:
create table classes(
	Id int primary key,
	Name varchar(20)
);


--学生表:
create table students(
	id int primary key,
	Name varchar(20),
	Class_id int,
	Foreign key(class_id) references classes(id) #副表链接主表
);

Insert into classes values(1,’一班’);
Insert into classes values(2,‘二班’);
Insert into classes values(3,’三班’);
Insert into classes values(4,’四班’);
Insert into classes values(5,’五班’);
 
insert into students values(1001,'张三',1);
insert into students values(1006,'李四',6);   ×
****主表中没有6班,所以报错

–1.主表classes中没有的数据值,在副表中是不可以使用的
–2.主表中的记录被副表引用,是不可以被删除的。

Delete from classes where id =4;

****不可删除主表中被应用的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值