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 = '表名'
--------------------
-------------
---------------
-------------