mysql导入xsl文件_MySQL基础语法

net start MySQL57

net stop MySQL57

mysql -h localhost -u root -p

查看引擎

show engines;

show variables like '%storage_engine';

show databases;

创建数据库

create database test_db;

show create database test_db;

删除数据库

drop database test_db;

选择数据库

use test_db;

查看当前选择的数据库

select database();

查看表

show tables;

创建表

create table tb_l

(

idINT(11),

nameVARCHAR(25),

deptIdINT(11),

salary FLOAT

);

指定表主键,在创建时: id INT(11) primary key

或者在salary FLOAT,后加primary key(id)

主键由多个字段组成, primary key(id,deptId)

create table tb_2

(

idINT(11) primary key,

nameVARCHAR(25),

deptIdINT(11),

salary FLOAT

);

create table tb_3

(

idINT(11),

nameVARCHAR(25),

deptIdINT(11),

salary FLOAT,

primary key(id,deptId)

);

添加主键约束,使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。

alter table tb_3 add primary key (id);

删除主键 alter table tb_3 drop primary key;

外键约束

一个表中的一个字段是另一个表的主键,

如员工表tb_4的部门Id: deptId

和部门表tb_dept的主键id关联

deptId为外键,tb_4为从表(子表)

tb_dept为主表(父表)

外键约束

create table tb_dept

(

idINT(11) primary key,

nameVARCHAR(25),

location VARCHAR(50)

);

create table tb_4

(

idINT(11) primary key,

nameVARCHAR(25),

deptIdINT(11),

salary FLOAT,

constraint fk_4_dept foreign key(deptId) references tb_dept(id)

);

在表tb_4上添加了名称为fk_4_dept的外键约束,外键名称为deptId,其依赖于表tb_dept的主键id

);之间可加engine=指定引擎,外键关联的表需要引擎相同

alter table tb_4 add foreign key (deptId) references tb_dept(id);

alter table tb_4 add constraint fk_4_dept foreign key (deptId) references tb_dept(id);//有命名

非空约束not null

唯一性约束nuique

create table tb_5

(

idINT(11) primary key,

nameVARCHAR(25) not null,

deptIdINT(11) nuique,

salary FLOAT

);

create table tb_6

(

idINT(11) primary key,

nameVARCHAR(25),

deptIdINT(11),

salary FLOAT,

constraint sth unique(name)

);

默认值

create table tb_7

(

idINT(11) default 1111

);

自动增加,一个表只能有一个字段使用auto_increment

初始值为1,每增加一条记录,字段值自动加1

且该字段必须为主键的一部分

字段需为整数类型 TINYINT SMALLIN INT BIGINT

create table tb_8

(

idINT(11) primary key auto_increment,

);

查看表的字段信息

describe/desc tb_2;

查看表详细结构

show create table tb_2;

修改表名

alter table tb_2 rename tb_1; rename后可加一个to

修改字段名

alter table tb_2 change id idd int(20); //可以只改字段的数据类型

修改字段的数据类型

alter table tb_2 modify id VARCHAR(30); //之后还可加约束条件not null、first、after等

修改字段的排列位置

alter table tb_2 modify name varchar(50) first; //或者after另一个字段

添加字段

alter table tb_2 add loc VARCHAR(50);

其后可添加约束条件

alter table tb_2 add c1 VARCHAR(10) not null;

alter table tb_2 add c2 VARCHAR(10) not null first; //添加c2为第一列

alter table tb_2 add c3 VARCHAR(10) after id; //添加到指定列后面

删除字段

alter table tb_2 drop c2;

更改表的存储引擎

alter table tb_2 engine=MyISAM;

可用show create table tb_2;查看

删除表的外键约束

alter table tb_5 drop foreign key fk_4_dept;

删除没有被关联的表

drop table if exists tb_2, tb_3; //if exists用于判断表是否存在

删除被其他表关联的主表

可以先删除子表,再删除父表

也可先删除外键约束再删除主表

删除表中所有数据

delete from tb_2;

数据库数据类型

1. 整数类型 tinyint(1个字节)、smallint(2个字节)、mediumint(3个字节)、int(4个字节)、bigint(8个字节)

id int(11), 11表示显示宽度

year int(4) 只显示4位数字的宽度

小于宽度用空格填充,大于宽度但不超过取值范围,依然可以插入而且能显示出来

浮点小数类型 float(4个字节)、double(8个字节)

定点小数类型 decimal(m,n) 压缩的'严格'定点数 m+2个字节

m表示精度,表示总共的位数

n表示小数位数

create table tmp(

x float(4,1),

y double(4,1),

z decimal(4,1)

);

insert into tmp values(5.12, 5.15, 5.123);

select * from tmp;

x y z

5.1 5.2 5.1

z被截断有警告

2.日期/时间类型 year(1个字节)、time(3个字节)、date(3个字节)、datetime(8个字节)、timestamp(4个字节)

3.字符串类型 char固定长度、varchar变长、binary、varbinary、blob、text、enum、set等,分文本字符串和二进制字符串

create table fruits(

f_idchar(10) not null,

s_idint not null,

f_namechar(255) not null,

f_price decimal(8,2) not null,

primary key(f_id)

);

insert fruits (f_id,s_id,f_name,f_price)

values('a1',101,'apple',5.2),

('b1',101,'blackberry',10.2),

('bs1',102,'orange',11.2),

('bs2',105,'melon',8.2),

('t1',102,'banana',10.3),

('t2',102,'grape',5.3),

('o2',103,'cocount',9.2),

('c0',101,'cherry',3.2),

('a2',103,'apricot',2.2),

('l2',104,'lemon',6.4),

('b2',104,'berry',7.6),

('m1',106,'mango',15.7),

('m2',105,'xbabay',2.6),

('t4',107,'xbababa',3.6),

('m3',105,'xxtt',11.6),

('b5',107,'xxxx',3.6);

select f_id,f_name from fruits;

select *from fruits;

desc fruits;

show create table fruits;

select f_id, s_id, f_name, f_price from fruits;

select *from fruits where f_price<=10;

select *from fruits where f_price between 2 and 6;

select s_id,f_name,f_price from fruits where s_id in (101,102,105) order by f_name desc;//降序

select s_id,f_name,f_price from fruits where s_id not in (101,102,105) order by s_id asc;//升序

select *from fruits where f_name like 'b%';  //以b开头

select *from fruits where f_name like '%g%';  //含有g

select *from fruits where f_name like 'b%y';   //以b开头 y结尾

select *from fruits where f_name like '____y'; //以y结尾,前面有几个_就有几个字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值