博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQl数据库常用的DOS命令
阅读量:4945 次
发布时间:2019-06-11

本文共 8758 字,大约阅读时间需要 29 分钟。

MySQl数据库常用的DOS命令、、

这是第一部分、、

数据库的连接信息:
jdbc:mysql://localhost:3306/shxt
com.mysql.jdbc.Driver

/*
jdbc:sqlserver://localhost:1433;DatabaseName=Student
com.microsoft.sqlserver.jdbc.SQLServerDriver
*/

/----------
登录mySQL:

mysql -u root -p

然后Enter一下,

show databases;

然后Enter一下,

create database num1;

创建了一个数据库 叫num1,

drop database num1;

删除了一个数据库叫num1,

/----------------

mysql> create table num2(
-> id int(3),
-> name char(10),
-> address varchar(50),
-> year date
-> );
然后Enter一下,就创建了一个数据库表,
/------------
use school; // 打开库SCHOOL
create table teacher( // 建立表TEACHER
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default ''深圳'',
year date
); // 建表结束
/---------------------
重命名表:

mysql > alter table t1 rename t2;

获取数据表结构。

mysql> desc MyClass;
mysql> show columns from MyClass;

删除表名为 MyClass 的表:

mysql> drop table MyClass;

向表中插入数据。

mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

查看表 MyClass 中所有数据:

mysql> select * from MyClass;

查看表 MyClass 中前2行数据:

mysql> select * from MyClass order by id limit 0,2;

删除表 MyClass中编号为1 的记录:

mysql> delete from MyClass where id=1;

update set命令用来修改表中的数据。

mysql> update MyClass set name='Mary' where id=1;

在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:

mysql> alter table MyClass add passtest int(4) default '0';

在表MyClass名字更改为YouClass:

mysql> rename table MyClass to YouClass;

/---------------------

数据库中的数据类型:
int

point

set

varbinary

enum

text

datetime

timestamp

year

time

date

varchar

char

decimal

float

double

bit

integer

int

/----------------

 这是第二部分、、

-------

删除表,
use 数据库;
show tables;
drop table 表名;

-------------------

MySQL_CMD命令:
mysql -u root -p

输入 exit 或 quit 退出登录

create database 数据库名 ;

show databases; 命令查看已经创建了哪些数据库

use 数据库名;打开某个数据库,

CREATE TABLE `authors` (

`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(100) NOT NULL,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

在打开的数据库中创建一个数据表,

desc authors;

查看数据表的结构,

select * from authors;

insert into authors (id, email,name) values(1, "女", "孙丽华");

向表中插入数据,

select id from authors ;

查询 表中所有的id

select * from students where sex="女";

select * from students where age > 21;

select * from students where name like "%王%";

select * from students where id<5 and age>20;

update students set age=age+1;

update students set name="张伟鹏", age=19 where tel="13288097888";

删除id为2的行: delete from students where id=2;

删除所有年龄小于21岁的数据: delete from students where age<20;

删除表中的所有数据: delete from students;

在表的最后追加列 address: alter table students add address char(60);

在名为 age 的列后插入列 birthday: alter table students add birthday date after age;

将表 tel 列改名为 telphone: alter table students change tel telphone char(13) default "-";

将 name 列的数据类型改为 char(16): alter table students change name name char(16) not null;

删除 birthday 列: alter table students drop birthday;

重命名 students 表为 workmates: alter table students rename workmates;

示例: 删除 workmates 表: drop table workmates;

示例: 删除 samp_db 数据库: drop database samp_db;

-----------

修改 root 用户密码
使用 mysqladmin 方式:

打开命令提示符界面, 执行命令: mysqladmin -u root -p password 新密码

执行后提示输入旧密码完成密码修改, 当旧密码为空时直接按回车键确认即可。

---------
CREATE TABLE tutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT,
tutorial_title VARCHAR(100) NOT NULL,
tutorial_author VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY ( tutorial_id )
);
-----------
INSERT INTO tutorials_tbl (tutorial_title, tutorial_author, submission_date) VALUES ("Learn PHP", "Yiibai", NOW());

---------

1.选择数据库

>use 数据库名;

2.查询所有数据表

>show tables;

3.查询表的字段信息

>desc 表名称;
----------
5.向一个表中增加一个列做为主键
alter table table_name add column column_name type auto_increment PRIMARY KEY;

例如:alter table book add column id int(10) auto_increment PRIMARY KEY;

----------
create database example;
创建一个数据库

drop database example;

删除一个数据库

----

show engines;
MySQL中查询存储引擎的类型命令:

----

CREATE TABLE student (
id int,
name varchar(20)
);
------------
CREATE TABLE student1 (
id int PRIMARY KEY,
name varchar(20)
);
设置表的主键
  单字段主键格式:属性名 数据类型 PRIMARY KEY
----------
CREATE TABLE student2 (
id int,
stu_id int,
name varchar(20),
PRIMARY KEY(id,stu_id)
);
设置表的主键
多字段主键格式:PRIMARY KEY(属性名1,属性名2....属性名n)
---------
CREATE TABLE teacher (
id int PRIMARY KEY,
stu_id int,
name varchar(20),
CONSTRAINT STUID FOREIGN KEY(stu_id) REFERENCES student1(id)
);
3)设置表的外键
  格式:CONSTRAINT 外键别名 FOREIGN KEY(属性1,属性2,....属性n) REFERENCES 表名(属性1',属性2',...属性n')
-------------
CREATE TABLE student3 (
id int PRIMARY KEY AUTO_INCREMENT,
teacher_id int UNIQUE,
name varchar(20) NOT NULL,
sex varchar(10) DEFAULT 'male'
);

4)设置表的非空约束

  简单的说就是不让这个属性的值为空,不填的话就会报错
  格式:属性名 数据类型 NOT NULL

  5)设置表的唯一性约束
  就是这个属性的值是不能重复的
  格式:属性名 数据类型 UNIQUE

  6)设置表的属性值自动增加

  AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT和BIGINT),在默认的情况下,该字段的值是从1开始自增
  格式:属性名 数据类型 AUTO_INCREMENT

  7)设置表的属性的默认值
  格式:属性名 数据类型 DEFAULT 默认值
------------
查看表结构
desc student3;
格式:DESCRIBE 表名;
-----
查看表的详细结构
SHOW CREATE TABLE student3;
格式:SHOW CREATE TABLE 表名;
-------
ALTER TABLE student RENAME student4;
1)修改表名
格式:ALTER TABLE 旧表名 RENAME 新表名;
-----------
ALTER TABLE teacher DROP FOREIGN KEY STUID;
7)删除表的外键约束
  格式:ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
----------
删除被其他表关联的父表:
  方法一:先删除子表,在删除父表

  方法二:删除父表的外键约束(上面有介绍),再删该表

--------
SHOW FULL COLUMNS from teacher;
查看表所有的列:
----- 

 这是第三部分、、

select database();

select命令表示当前选择(连接)的数据库。
-----
select version();
显示MYSQL的版本
----
select now();
显示当前时间
----
SELECT DAYOFMONTH(CURRENT_DATE);
显示日
----
SELECT MONTH(CURRENT_DATE);
显示月份
----
SELECT YEAR(CURRENT_DATE);
显示年
-----
SELECT "welecome to my blog!";
显示字符串
----
select ((4 * 4) / 10 ) + 25;
当计算器用
-----
create table MyClass(
id int(4) not null primary key auto_increment,
name char(20) not null,
sex int(4) not null default '0',
degree double(16,2));

创建数据表:

------------------
select * from MyClass order by id limit 0,2;
查看表 MyClass 中前2行数据:
-------
create table teacher(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default "深圳",
year date
);

创建数据表

----------------

第四部分、、

7、说明:添加主键: Alter table tabname add primary key(col)

说明:删除主键: Alter table tabname drop primary key(col)

基本的sql语句

选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1

left join:

(左连接):结果集包括连接表的匹配行,也包括左连接表的所有行。

right join:

(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
full join:
全连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
----------------
多张表的Inner join
多表INNER JOIN多表查询
SELECT t1.xxx, t2.xxx, t3.xxx
FROM (table1 t1
INNER JOIN table2 t2 ON t1.fid = t2.fid)
INNER JOIN table3 t3 ON t1.mid = t3.mid;
这里使用了3表关联,对于多表关联的 INNER JOIN 写法有一个技巧
1). 先写最简单的2表关联 INNER JOIN
2). 然后使用 () 从 FROM 之后到语句结尾全部扩起来
3). 在语句结尾开始连接与下一个表的 INNER JOIN
记住这个原则,未来进行4表关联,5表关联就都不是什么难事了

-------------------

跨越多个表查询数据
FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表X ON Member.字段号=表X.字段号,只要套用该格式就可以了。
--------------------
连接两个数据表的用法:

FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号

--------------------
连接三个数据表的用法:

FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号

--------------------

连接四个数据表的用法:

FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号

--------------------

连接五个数据表的用法:

FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号

--------------------

前10条记录
select top 10 * form table1 where 范围
--------------------
随机取出10条数据
select top 10 * from tablename order by newid()
--------------------
列出数据库里所有的表名
select name from sysobjects where type='U' // U代表用户
--------------------
列出表里的所有的列名
select name from syscolumns where id=object_id('TableName')
--------------------
在SQL语句组合时
“where 1=1” 是表示选择全部 “where 1=2”全部不选,
--------------------
搜索:开头到N条记录
Select Top N * From 表
--------------------
获取当前数据库中的所有用户表
select Name from sysobjects where xtype='u' and status>=0
10:获取某一个表的所有字段
select name from syscolumns where id=object_id('表名')
--------------------
查看当前数据库中所有存储过程
select name as 存储过程名称 from sysobjects where xtype='P'
--------------------
查询某一个表的字段和数据类型
select column_name,data_type from information_schema.columns where table_name = '表名'
--------------------

 

-------------

---------------

-------------

转载于:https://www.cnblogs.com/GaoNa/p/9495413.html

你可能感兴趣的文章
CATransform3D参数的意义
查看>>
怎么自己在Objective-C中创建代理
查看>>
Under Armour Drive 4 Performance Reviews
查看>>
C#操作目录和文件
查看>>
警惕数组的浅拷贝
查看>>
百度地图 导航
查看>>
SQLServer 错误: 15404,无法获取有关 Windows NT 组
查看>>
html5全局属性
查看>>
【转】Android Hook框架Xposed详解
查看>>
Android 有用代码片段总结
查看>>
英语各种时态例句
查看>>
从下往上看--新皮层资料的读后感 第三部分 70年前的逆向推演- 从NN到ANN
查看>>
(转)系统引导管理器GRUB详解
查看>>
数据访问C#入门经典第21章-读写压缩数据
查看>>
PHP超时处理全面总结(转)
查看>>
利用python进行数据分析--pandas入门2
查看>>
[zz]使用 libevent 和 libev 提高网络应用性能
查看>>
Linux故障处理最佳实践
查看>>
6标准文件读写
查看>>
jsTree 核心功能(core functionality) API
查看>>