MySQL数据库的基本语法

MySQL数据库的基本语法

关系型数据库(MySQL):

SQL全名是结构化查询语言(Structured Query Language),是用于数据库中的标准数据查询语言。包含3个部分:数据定义语言(DDL : Data Definition Language)、数据操纵语言(DML : Data Manipulatio n Language)、数据控制语言(DCL : Data Control Language)。

DDL命令:  create,drop,alter,show  等 
DML命令:SELECT,INSERT,UPDATE,DELETE  等
DCL命令:COMMIT,ROLLBACK,SAVEPOINT ALTER SESSION,SET ROLE,ALTER SYSTEM  等

mysql服务的启动与关闭(Windows)

启动:net start mysql;
关闭:net stop mysql;

进入mysql

1、自带的黑窗口
2window的黑窗口 ------配置环境变量path  --bin
*注意:在window中打开需要配置环境变量,找到bin的路径配置在path
3、mysql [-hlocalhost] -uroot -p密码   //localhost(本地主机)
退出:exit/quit

数据库:

1、查看所有数据库:
show databases;                             
2、打开某个数据库
use 数据库名;// use wuhan20;
3、创建数据库
create database [if not exists] 数据库名;
create database if not exists cc;                       
4、删除数据库
drop database 数据库名;
drop database cc;
5、查看数据库的字符编码
show VARIABLES like 'char%' set character_set_client=gbk; set character_set_results=gbk;

为了一劳永逸,可以在my.ini中设置: 设置default-character-set=gbk即可。

[client]
port=3306   //端口号
[mysql]
default-character-set=gbk
DDL(数据定义语言):
查:show databases;(查找全部数据库)
增:create database 数据库名;(创建数据库)
删:  drop database 数据库名;(删除/漏 数据库)             

表(关系,实例):

1、查看某个数据库的所有表 show tables;

2、创建表

create table dept(
did int primary key auto_increment,
dname VARCHAR(20),
ddes varchar(50)
);

create table 表名(
字段 类型,
字段 类型
);

3、表结构desc 表名;
desc emp;(查看表结构)
4、删除表 drop table 表名;
drop table aa; //不仅删除表结构 而且 数据也一起删除
5、查看表数据 : select * from 表名;—-select * from emp;
6、修改表结构:

修改表名

ALTER table 旧表名 RENAME to 新表名;

// 添加字段
ALTER table 表名 add(字段名 字段类型);  
ALTER table emp add(li varchar(20));

alter table 表名 add 字段名 字段类型 after 某字段名;
alter table emp add da DATE after ename;

删除字段

alter table 表名 drop 字段名; ----alter table emp drop li;

修改字段类型 属性

alter table 表名 modify 字段名 字段类型 属性;
alter table emp modify ename varchar(30) not null;

修改字段名 类型

alter table 表名 change 旧字段名  新字段名 新字段类型;

修改表名

alter table 旧表名 rename to 新表名
alter table e rename to emp;

添加主键

alter table 表名 add primary key(字段名)
alter table emp add primary key(eid);

删除主键

alter table 表名 drop PRIMARY KEY;

添加唯一约束

alter table 表名 add unique [约束名](字段名); 
alter table emp add unique(ename);

删除唯一约束

alter TABLE 表名 drop index  约束名;

添加外键

Alter table 从表 add  foreign key(列名) references 主表(主键); 

主键

是人为赋予的一个编号,不可重复,主键是用来被引用

外键

配合主键使用,与主键的值相对应,才有意义,外键用来呼应相关表的主键

添加索引:

alter TABLE 表名 add index[索引名] (字段名) ;

删除索引:

alter TABLE 表名 drop index 索引名;

表数据
1,添加数据(insert into….语句)
insert into 表名(字段1,字段2,字段3) values (值1,值2,值3);
2,修改数据(update ….set语句)
update 表名 set 字段名1=’值1’,字段名2=’值2’ where 字段名=’值’;
3,删除数据(delete from…语句)
delete from 表名;—删除所有记录
delete from 表名 where id=1 –删除ID为1的记录
4,查表数据
select * from 表名;

在表级别一次性创建约束

CREATE table goods(
id int PRIMARY key auto_increment,
name VARCHAR(10) not null,
price int not null,
w_id int ,
foreign key(w_id) REFERENCES sub(num)
);
//代码实例:
create TABLE student(
stuNo int,
name VARCHAR(10),
age int,
grade double(4,2)
);

CREATE TABLE haha(
num INT,
subName VARCHAR(10)
);

查询表结构

DESC haha;
desc student;

删除表

drop TABLE student;

添加主键

alter table student add PRIMARY key(stuNo);
ALTER TABLE haha add PRIMARY KEY(num);
-- 添加字段
ALTER TABLE student add(sex CHAR(2));
-- 在某个字段名之后
ALTER TABLE student ADD num int AFTER age;
-- 删除字段
ALTER TABLE student DROP num;
-- 修改字段类型 属性
ALTER TABLE student MODIFY grade INT NOT NULL;
-- 修改字段名 类型
ALTER TABLE student CHANGE sex2 sex CHAR(2);
-- 修改表名
-- ALTER TABLE student RENAME student2;
-- 添加外键字段
ALTER TABLE student add w_id INT;

主键和外键关联

ALTER TABLE student add FOREIGN KEY(w_id) REFERENCES haha(num);
SELECT * FROM student;
INSERT into student VALUES(5,'牧雪',23,90,'女',3);
INSERT into student VALUES(6,'李斌',24,90,'男',2);
INSERT into student VALUES(7,'李冰',26,90,'女',1);
INSERT into student VALUES(8,'白素贞',23,90,'女',2);

在表中一次性约束

create table manager(
id int PRIMARY key auto_increment,  //(自动增加int类型,不需要约束)
name VARCHAR(10) not null,
age int not null,
sex CHAR(2) not null,
w_id int not null,  //(先要添加外键字段)
foreign KEY(w_id) references haha(num)
);
SELECT * FROM manager;
INSERT INTO manager(name,age,sex,w_id) VALUES('战三',23,'男',2); 

猜你喜欢

转载自blog.csdn.net/yanghua1012/article/details/50991092