MySQl数据库常用的DOS命令、、
这是第一部分、、
数据库的连接信息:jdbc:mysql://localhost:3306/shxtcom.mysql.jdbc.Driver /*jdbc:sqlserver://localhost:1433;DatabaseName=Studentcom.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; // 打开库SCHOOLcreate 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;/---------------------
数据库中的数据类型:intpoint
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 ;
查询 表中所有的idselect * 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)设置表的唯一性约束 就是这个属性的值是不能重复的 格式:属性名 数据类型 UNIQUE6)设置表的属性值自动增加
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 table1left 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>=010:获取某一个表的所有字段 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 = '表名'--------------------
-------------
---------------
-------------