mysql中设为主键命令语句_有关MySQL的命令语句(⼀)⼀、数据库的基本操作
1. 连接数据库:mysql -u root -p
参数描述
-u
⽤户名
-p
密码
-V
输出版本信息并且退出
-h
主机地址
2、启动和停⽌
3、修改⽤户密码:mysqladmin;
mysqladmin命令⾏: mysqladmin -u ⽤户名 -p 旧密码 password 新密码
4. 查看所有数据库:show databases;
5. 创建数据库:create database 数据库名字;
6、use 数据库的名称:
显⽰当前连接的数据库:select database();
显⽰当前服务器版本:select version();
显⽰当前⽇期时间:select now();
显⽰当前⽤户:select user();
7. 查看数据库的定义:how create database 数据库名;
8. 删除数据库(包含该数据库中所有的数据表和数据,且不提⽰):drop database 数据库名;
9. 查看MySQL存储引擎:how engines \G
11. 修改数据库临时的默认存储引擎:set default_storage_engine=MyISAM;
12. 退出MySQL:EXIT
13、MySQL的⽬录结构
bin⽬录:⽤于存储⼀些可执⾏⽂件
include⽬录:⽤于存储包含的⼀些头⽂件
lib⽬录:⽤于存储⼀些库⽂件
share⽬录:⽤于存储错误信息,字符集⽂件等
data⽬录:⽤于放置⼀些⽇志⽂件以及数据库
my.ini⽂件:数据库的配置⽂件
⼆、数据表的基本操作
1. 先选择数据库:USE;
2. 创建数据表:
->create table
->(
->字段名1 数据类型 [列级别约束条件] [默认值] ,
-
>字段名2 数据类型 [列级别约束条件] [默认值] ,
->.........
->[表级别约束条件]
->);
3. 查看数据表:show tables;
删除表: drop table 数据表名。
主键约束:主键列的数据唯⼀且不允许为NULL,主键能唯⼀地标识表中⼀条记录。分为单字段主键和多字段主键。4. 单字段主键 :
在定义列的同时指定主键: 字段名 数据类型 primary key [默认值]
在列定义的后边指定主键: [CONSTRAINT ]PRIMARY KEY [字段名]
PS:
删除主键约束: ALTER TALBE 表名 DROP PRIMARY KEY;
通过修改表的⽅式添加主键约束:ALTER TABLE 表名 ADD PRIMARY KEY (字段名);
5. 多字段联合主键:
PRIMARY KEY [字段1,字段2,...,字段n]
6. 使⽤外键约束:
外键是⽤来在两个表的数据之间建⽴链接,可以是⼀列或者多列,⼀个表可以有⼀个或者多个外键。
外键对应的是参照完整性,⼀个表的外键可以为空值,若不为空值,则每⼀个外键必须等于另⼀个表中主键的某个值。
例如:部门表tb_dept的主键是id,在员⼯表中有⼀个键deptID与这个id关联。
图书类别表(⽗表)
CREATE TABLE bookcategory(
category_id INT PRIMARY KEY,
category VARCHAR(20),
parent_id INT
);
图书信息表(⼦表)
CREATE TABLE bookinfo(
book_id INT PRIMARY KEY,
book_category_id INT,
CONSTRAINT fk_cid FOREIGN KEY(book_category_id) REFERENCES bookcategory(category_id)
);
删除外键:
alter table bookinfo drop foreign key fk_bcid;
恢复关联:
add constraint fk_bcid foreign key(book_category_id)references bookcategory(category_id);
7. 使⽤⾮空约束格式 :字段名 数据类型 not null;
删除⾮空约束:alter table 表名 modify 字段名 数据类型;
通过修改表添加⾮空约束: alter table 表名 modify 字段名 数据类型 NOT NULL;
8. 使⽤唯⼀性约束:(允许为NULL,可确保⼀列或⼏列不出现重复值)
字段名 数据类型 unique;
java右移运算符怎么计算[constraint ] unique ();
9. 使⽤默认约束格式:字段名 数据类型 default 默认值
10. 设置表的属性值⾃动增加(主键)格式:字段名 数据类型 auto_increment
测试⾃增列:
insert into bookcategory_tmp(category,parent_id)values('dadaqianduan',0);
修改⾃增列的起始值:
alter table bookcategory_tmp auto_increment = 15;insert into bookcategory_tmp(category,parent_id)values('⽂学',0);
11、通过对表的⾏或列的数据做出限制,来确保表数据的完整性、⼀致性;
约束类型⾮空约束主键约束唯⼀约束默认约束外键约束
关键字
not null
unique
default
foreign keymysql语句分类
12. 给表中输⼊数据:
这⾥使⽤insert声明向表中插⼊记录的⽅法,并不是SQL标准语法,不⼀定被其他的数据库⽀持,只能在MySQL中使⽤。-> insert into tb_emp8(name ,salary)
-> values('lucy',1000),('lura',1200),('kevin',1500);
13. 查看数据表的数据:select*from tb_emp8;
14. 查看表基本结构语句:
describe/desc 表名;
查看表的字段信息,包括:字段名、字段数据类型、是否为主键、是否有默认值等。
NULL :表⽰该列是否可以存储NULL值。
Key: 表⽰该列是否已编制索引。
PRI:该列是表主键的⼀部分;
UNI:表⽰该列是UNIQUE索引的⼀部分;
MUL:表⽰在列中某个给定值允许出现多次。
Default:表⽰该列是否有默认值,如有的话值是多少;
Extra:表⽰可以获取的与给定列有关的附加信息。
openstack有哪些用户的命令15. 查看表的详细结构语句:show create table ;
16. 修改数据表:
修改表名: alter table rename [to] ;
修改表字段的数据类型:alter table modify
修改表字段名:alter table change ;
PS: 当数据库表中已经有数据时,不要轻易修改数据类型。
添加字段: alter table add[约束条件] [first | afier 已存在字段名]
删除字段: alter table drop ;
修改字段的排列位置:alter table modify first |after ;
更改表的存储引擎:alter table engine=;
删除表的外键约束:alter table drop foreign key
17. 删除数据表:drop table [if exists] 表1,表2,......表n;
PS : 参数“if exists”⽤于在删除前判断表是否存在,加上该参数后,若表存在,SQL语句会顺利执⾏,但会发出警告。删除被其他表关联的主表:
alter table drop foreign key
删除表中的数据:DELETE FROM tmp3;
18、查看表分区:SHOW PLUGINS;
创建表分区:使⽤partition by 类型(字段)
使⽤values less than 操作符定义分区。
create table bookinfo
(
book_id int,
book_name varchar(20)
)
partition by range(book_id)(
partition p1 values less than(20101010),
partition p3 values less than MAXVALUE
);
三、 数据类型和运算符java类的成员变量与方法应用
1.数据类型
1) 整数类型:
INT(11) :
vb编程语言读取网页
11 表⽰该数据类型指定的显⽰宽度,指定能够显⽰的数值中数字的个数。
显⽰宽度和数据类型的取值范围是⽆关的。
当数据⼤于显⽰宽度的值,只要该值不超过该类型整数的取值范围,数值仍可以插⼊,并且能够显⽰出来。默认显⽰宽度。CREATE TABLE tmp1(x TINYINT, y SMALLINT, z MEDIUMINT, m INT, n BIGINT );
整型:TINYINT-1字节 ; SMALLINT-2字节;MEDIUMINT-3字节;INT-4字节 BIGINT-8字节;
2) 浮点数类型和定点数类型:
FLOAT :4个字节; DOUBLE : 8个字节;
CREATE TABLE tmp2(x FLOAT(5,1), y DOUBLE(5,1), z DECIMAL(5,1));
INSERT INTO tmp2 VALUES(5.12, 5.28, 5.233);
3) ⽇期与时间类型
源代码是什么语言向 tmp4 插⼊系统当前时间。
INSERT INTO tmp4 values (CURRENT_TIME),(NOW());
向 tmp4 插⼊系统当前⽇期。
INSERT INTO tmp4 values (CURRENT_DATE()),(NOW());
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论